Commit 04165438 authored by ransome1's avatar ransome1
Browse files

Merge branch 'develop'

parents 28f89e91 01ee0950
......@@ -12,14 +12,12 @@ snap/local/
*.db:encryptable
*.db
System Volume Information/
build/
Thumbs.db
flatpak/generated-sources.json
flatpak/com.github.ransome1.sleek.yml
assets/icons/bak
squashfs-root/
.eslintrc.json
build/
package-lock.json
.vs/
.vscode/
......
{
"name": "sleek",
"productName": "sleek",
"version": "1.0.7",
"version": "1.0.8",
"description": "Todo app based on todo.txt for Linux, Windows and MacOS, free and open-source",
"synopsis": "Todo app based on todo.txt for Linux, Windows and MacOS, free and open-source",
"category": "ProjectManagement",
......@@ -92,18 +92,17 @@
"artifactName": "${productName}-${version}-${arch}.${ext}"
},
"scripts": {
"build:windows": "yarn build:css && electron-builder -w --publish never",
"build:macos": "yarn build:css && electron-builder -m --publish never",
"build:linux": "yarn build:css && electron-builder -l --publish never",
"build:appx": "electron-builder -w appx --publish never",
"build:pacman": "electron-builder -l pacman --publish never",
"build:windows": "yarn build:css && yarn build:pegjs && electron-builder -w --publish never",
"build:macos": "yarn build:css && yarn build:pegjs && electron-builder -m --publish never",
"build:linux": "yarn build:css && yarn build:pegjs && electron-builder -l --publish never",
"build:appx": "yarn build:css && yarn build:pegjs && electron-builder -w appx --publish never",
"build:appimage": "yarn build:css && yarn build:pegjs && electron-builder -l AppImage --publish never",
"pack": "electron-builder --dir",
"lint": "eslint --ext .js, src --ext .mjs, src",
"test": "mocha --timeout 10000",
"test1": "mocha ./test/onboarding.js --timeout 10000",
"build:css": "sass src/scss/style.scss:src/css/style.css",
"build:pegjs": "peggy --format es --output src/js/filterlang.mjs src/js/filterlang.pegjs",
"pack": "yarn build:css && yarn build:pegjs && electron-builder --dir",
"lint": "eslint --ext .js, src --ext .mjs, src",
"test": "mocha --timeout 10000",
"test1": "mocha ./test/createTodos.js --timeout 10000",
"sass": "sass -w src/scss/style.scss:src/css/style.css",
"start": "yarn sass & electron ."
},
......
name: sleek
base: core18
version: '1.0.8'
summary: Todo app based on the todo.txt format for Linux, free and open-source
description: |
sleek is an open-source todo app that makes use of the todo.txt format. sleeks GUI is modern and simple but still offers a decent set of functions which help users getting things done. sleek is available as a client for Windows, MacOS and Linux.
......@@ -55,10 +56,6 @@ parts:
--prune=true --out $SNAPCRAFT_PART_INSTALL/
mv $SNAPCRAFT_PART_INSTALL/$SNAPCRAFT_PROJECT_NAME-linux-* \
$SNAPCRAFT_PART_INSTALL/sleek
VER=$(npm show sleek version)
echo "VERSION $(npm show sleek version)"
snapcraftctl set-version $VER
stage-packages:
- libnss3
cleanup:
......
export function createModalJail(modal) {
// add all the elements inside modal which you want to make focusable
const focusableElements = 'a.button, [tabindex]:not([tabindex="-1"])';
const focusableElements = '[tabindex]:not([tabindex="-1"])';
const firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal
const focusableContent = modal.querySelectorAll(focusableElements);
const lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal
......
@charset "UTF-8";
body.dark {
background-color: #212224;
color: #CCCDCF;
color: #f0f0f0;
}
body.dark code, body.dark pre {
background-color: #212224 !important;
}
body.dark a {
color: white;
}
body.dark button:focus-visible,
body.dark a:hover,
body.dark a:focus-visible {
outline: 2px solid #CCCDCF !important;
color: #3273dc;
}
body.dark a:hover,
body.dark button:hover,
body.dark strong {
color: #CCCDCF;
color: #f0f0f0;
}
body.dark input,
body.dark select {
......@@ -25,23 +20,26 @@ body.dark select {
color: white !important;
}
body.dark input[type=text],
body.dark input[type=search],
body.dark textarea {
background: #2d2d2d !important;
border: none;
color: white;
}
body.dark input:active,
body.dark input:focus,
body.dark input.is-focused,
body.dark select:focus,
body.dark textarea:active,
body.dark textarea:focus,
body.dark input[type=search]:focus {
outline: none !important;
box-shadow: 0 0 0 2px #CCCDCF !important;
body.dark select:focus {
background-color: #2d2d2d !important;
}
body.dark .is-focused .inputWrapper label,
body.dark .is-focused .inputWrapper i.fa-search,
body.dark .is-focused .inputWrapper .todoTableSearchQuestionmark i,
body.dark .inputWrapper.is-focused label,
body.dark .inputWrapper.is-focused i.fa-search,
body.dark .inputWrapper.is-focused .todoTableSearchQuestionmark i {
color: #f0f0f0 !important;
}
body.dark input::placeholder {
color: #4a4a4a !important;
color: #5a5a5a !important;
}
body.dark input[type=checkbox]:focus,
body.dark input[type=checkbox]:active {
......@@ -49,35 +47,20 @@ body.dark input[type=checkbox]:active {
box-shadow: none !important;
}
body.dark input[type=range] {
background: #4a4a4a !important;
background: #5a5a5a !important;
}
body.dark input[type=range]::-webkit-slider-thumb {
background: #f0f0f0;
}
body.dark button {
color: white !important;
background: transparent !important;
color: #f0f0f0;
background: #212224;
}
body.dark button i {
color: #CCCDCF !important;
}
body.dark button.is-link,
body.dark .button.is-link:hover {
background-color: #2d2d2d !important;
}
body.dark button.is-link svg,
body.dark .button.is-link:hover svg {
color: inherit !important;
}
body.dark .button[disabled],
body.dark fieldset[disabled] {
background-color: transparent;
}
body.dark button.is-outlined:hover {
background: #3B3B3B !important;
color: #f0f0f0;
}
body.dark ::after {
border-color: white !important;
}
body.dark svg {
color: white;
border-color: #f0f0f0 !important;
}
body.dark table {
width: 100%;
......@@ -90,8 +73,23 @@ body.dark table tr td {
body.dark table tr th {
color: white !important;
}
body.dark table.files tr td:last-child i {
color: white;
body.dark table.files tr td:last-child a,
body.dark table.files tr td:last-child a:hover {
color: #f0f0f0 !important;
}
body.dark table.files tr td:last-child a:focus-visible {
color: #212224 !important;
}
body.dark table.files button {
color: #f0f0f0;
background: #212224;
}
body.dark table.files button:focus-visible {
color: #212224 !important;
background: #f0f0f0 !important;
}
body.dark table.files button:disabled {
opacity: 0.5;
}
body.dark nav {
background-color: #2d2d2d;
......@@ -100,20 +98,21 @@ body.dark nav svg {
color: #CCCDCF;
}
body.dark nav ul li.logo {
color: #f0f0f0 !important;
background: none;
}
body.dark nav ul li {
color: #CCCDCF;
body.dark nav ul li a {
color: #f0f0f0 !important;
border-bottom: 1px solid #3B3B3B;
}
body.dark nav ul li:hover,
body.dark nav ul li:focus {
color: #CCCDCF;
body.dark nav ul li a:hover,
body.dark nav ul li a:focus {
color: #CCCDCF !important;
border-bottom: none;
background-color: #3B3B3B;
}
body.dark nav ul li.is-highlighted {
color: #CCCDCF;
body.dark nav ul li a.is-highlighted {
color: #CCCDCF !important;
border-bottom: none;
background-color: #3B3B3B;
}
......@@ -126,41 +125,66 @@ body.dark #drawerContainer .zoom #zoomStatus {
body.dark #todoTableSearchContainer {
background-color: #212224;
}
body.dark #todoTableSearchContainer .icon.is-left i,
body.dark #todoTableSearchContainer .icon.is-right i {
color: #4a4a4a;
body.dark #todoTableSearchContainer input[type=search]::-webkit-search-cancel-button {
background-color: #f0f0f0;
}
body.dark #todoTableSearchContainer #todoTableSearchAddTodo {
background: #CCCDCF !important;
color: #212224 !important;
}
body.dark #todoTableSearchContainer #todoTableSearchAddTodo i {
color: inherit;
}
body.dark #todoTableSearchContainer #todoTableSearchAddTodo:hover,
body.dark #todoTableSearchContainer #todoTableSearchAddTodo:focus,
body.dark #todoTableSearchContainer #todoTableSearchAddTodo:focus-visible {
color: #212224 !important;
background: white !important;
}
body.dark #todoTableSearchContainer #btnToggleViewContainer {
background: transparent !important;
}
body.dark #resultStats .tag {
background-color: #3B3B3B !important;
color: #CCCDCF !important;
}
body.dark #resultStats .tag strong {
color: white !important;
}
body.dark #todoTable .todo#previousItem.is-highlighted {
background-color: #3B3B3B;
}
body.dark #todoTable .todo:hover .cell .button,
body.dark #todoTable .todo.due .button {
color: #f5f5f5;
body.dark #todoTable .todo:hover .cell button,
body.dark #todoTable .todo.due button {
color: #f0f0f0;
}
body.dark #todoTable .group.due {
color: #ebebeb;
}
body.dark #todoTable .group.due .button {
body.dark #todoTable .group.due button {
color: inherit;
}
body.dark #todoTable .todo {
border-color: #3B3B3B;
}
body.dark #todoTable .todo .checkbox a {
color: #CCCDCF;
body.dark #todoTable .todo .cell.checkbox a {
color: #3273dc;
font-size: 1.25em;
}
body.dark #todoTable .todo .checkbox a:hover {
color: white;
body.dark #todoTable .todo .cell.checkbox a:focus-visible {
color: white !important;
}
body.dark #todoTable .todo .cell.text {
color: #CCCDCF;
body.dark #todoTable .todo .cell.checkbox a:hover {
color: white !important;
}
body.dark #todoTable .todo .cell.checkbox a:focus-visible,
body.dark #todoTable .todo .cell.archive a:focus-visible {
color: #CCCDCF !important;
}
body.dark #todoTable .todo a.cell.text {
color: #f0f0f0 !important;
}
body.dark #todoTable .todo a.cell.text:focus-visible {
background: #2d2d2d !important;
}
body.dark #todoTable .todo .cell.itemDueDate {
color: white;
......@@ -169,7 +193,7 @@ body.dark #todoTable .todo .cell.itemDueDate i {
color: inherit;
}
body.dark #todoTable .todo .cell.itemDueDate i.fa-sort-down {
color: #4a4a4a;
color: #5a5a5a;
}
body.dark #todoTable .todo .cell.itemDueDate.isToday,
body.dark #todoTable .todo .cell.itemDueDate.isPast {
......@@ -197,33 +221,29 @@ body.dark #todoTable .todo .cell .is-white {
body.dark #modalForm i {
color: #CCCDCF !important;
}
body.dark #modalForm button {
color: white;
border-color: #3B3B3B !important;
border-right: 1px solid #212224 !important;
background: transparent !important;
}
body.dark #modalForm button:hover {
color: #CCCDCF !important;
}
body.dark #modalForm .field input,
body.dark #modalForm .field input::placeholder,
body.dark #modalForm .field select,
body.dark #modalForm .field select::placeholder {
body.dark #modalForm .field select {
color: white !important;
}
body.dark #modalForm .field select option {
background: #3B3B3B;
}
body.dark #modalForm #autoCompleteContainer {
background: #2d2d2d;
}
body.dark #modalForm #autoCompleteContainer h4 {
color: white;
}
body.dark #modalForm #autoCompleteContainer section::-webkit-scrollbar-thumb:window-inactive,
body.dark #modalForm #autoCompleteContainer section::-webkit-scrollbar-thumb {
background: #5a5a5a;
}
body.dark #recurrencePicker #recurrencePickerInput,
body.dark #recurrencePicker .radio {
cursor: pointer;
background: none !important;
color: white !important;
}
body.dark #recurrencePicker #recurrencePickerInput::placeholder {
color: white !important;
}
body.dark #recurrencePicker .radio:hover {
color: #CCCDCF !important;
}
......@@ -233,12 +253,6 @@ body.dark #recurrencePicker #recurrencePickerContainer {
body.dark #recurrencePicker #recurrencePickerContainer .card-footer {
border-color: #212224;
}
body.dark #autoCompleteContainer {
background: #3B3B3B;
}
body.dark #autoCompleteContainer h4 {
color: #CCCDCF;
}
body.dark #drawerContainer .drawer {
background: #3B3B3B !important;
}
......@@ -248,72 +262,87 @@ body.dark #drawerContainer .drawer h4.is-4 {
body.dark #drawerContainer .drawer h4.is-4 i {
color: #CCCDCF !important;
}
body.dark #drawerContainer .drawer button span.tag {
color: #5a5a5a;
}
body.dark #drawerContainer .drawer #sortByContainer li {
background: #2d2d2d;
color: white;
}
body.dark #drawerContainer .drawer #sortByContainer li i {
color: #ebebeb;
}
body.dark #drawerContainer .drawer #sortByContainer li.drag-sort-active {
border-left: 0.2em solid white;
}
body.dark #drawerContainer .drawer::-webkit-scrollbar-thumb:window-inactive,
body.dark #drawerContainer .drawer::-webkit-scrollbar-thumb {
background: #4a4a4a;
background: #5a5a5a;
}
body.dark #drawerContainer #drawerClose {
background: #3B3B3B !important;
}
body.dark #drawerContainer svg {
color: #f5f5f5 !important;
}
body.dark #drawerContainer #btnFiltersResetFilters {
background: #212224 !important;
}
body.dark #todoTableWrapper::-webkit-scrollbar-thumb:window-inactive,
body.dark #todoTableWrapper::-webkit-scrollbar-thumb {
background: #3B3B3B;
}
body.dark #filterContext .card {
background: #3B3B3B;
}
body.dark #filterContext .card #filterContextSave {
background-color: transparent !important;
border-right: 1px solid #212224 !important;
}
body.dark #filterContext .card-footer {
border-top: 1px solid #212224 !important;
body.dark #filterContext,
body.dark #todoContext {
box-shadow: 0 0 1em #2d2d2d !important;
}
body.dark #filterContext a,
body.dark #todoContext a {
color: #CCCDCF;
color: #f0f0f0 !important;
}
body.dark #todoContext .dropdown-content {
color: white;
background-color: #3B3B3B !important;
body.dark #filterContext a:hover,
body.dark #todoContext a:hover {
color: #CCCDCF !important;
background: #2d2d2d !important;
}
body.dark #todoContext .dropdown-content .dropdown-item:hover {
background: #2d2d2d;
body.dark #filterContext .card,
body.dark #todoContext .card {
background: #3B3B3B;
}
body.dark #filterContext .card #filterContextDelete,
body.dark #todoContext .card #filterContextDelete {
color: #ff3860 !important;
}
body.dark .contexts .button {
body.dark .contexts button {
color: #c5ede3;
background: #247561;
}
body.dark .contexts .button span.tag {
color: #184e41;
body.dark .contexts button span.tag {
color: #184e41 !important;
background: #c9eee5;
}
body.dark .contexts .button.is-dark {
background: #184e41;
body.dark .contexts button.is-dark,
body.dark .contexts button:focus-visible {
background: #184e41 !important;
color: white;
}
body.dark .projects .button {
body.dark .projects button {
color: #f1d6f1;
background: #822c82;
}
body.dark .projects .button span.tag {
color: #5c1f5c;
body.dark .projects button span.tag {
color: #5c1f5c !important;
background: #f2daf2;
}
body.dark .projects .button.is-dark {
background: #5c1f5c;
body.dark .projects button.is-dark,
body.dark .projects button:focus-visible {
background: #5c1f5c !important;
color: white;
}
body.dark .priority .button {
opacity: 0.9;
body.dark .priority button:not(.A):not(.B):not(.C) {
color: white;
background: #ccc;
}
body.dark .priority button.is-dark:not(.A):not(.B):not(.C) {
color: white;
background: #b3b3b3 !important;
}
body.dark .toggle .switch .slider {
background-color: #4a4a4a;
background-color: #5a5a5a;
}
body.dark .toggle .switch input:checked + .slider {
background-color: #2d2d2d !important;
......@@ -324,21 +353,31 @@ body.dark .toggle .switch input:focus + .slider {
body.dark .toggle .switch input:focus-visible {
outline: 2px solid white !important;
}
body.dark .modal .modal-content .card {
body.dark .card {
background: #3B3B3B;
color: #CCCDCF;
}
body.dark .modal .modal-content .card .card-header-title {
color: white;
body.dark .card .card-footer-item:hover {
color: #CCCDCF !important;
}
body.dark .card .card-footer-item:focus-visible {
color: #f0f0f0 !important;
background: #2d2d2d !important;
}
body.dark .modal .modal-content .card .card-footer,
body.dark .modal .modal-content .card .card-footer-item {
border-color: #2d2d2d;
body.dark .card .card-footer {
border-color: #2d2d2d !important;
}
body.dark .card .card-footer-item {
border-color: #2d2d2d !important;
background: transparent;
color: #f0f0f0 !important;
}
body.dark .modal.content {
color: #CCCDCF !important;
}
body.dark .modal.content .button {
body.dark .modal.content button,
body.dark .modal.content button,
body.dark .modal.content select {
background: #2d2d2d !important;
}
body.dark .modal.content .select:not(.is-multiple):not(.is-loading)::after {
......@@ -363,6 +402,12 @@ body.dark .modal.content table {
background: #3B3B3B;
color: #CCCDCF !important;
}
body.dark .modal.content .modal-card .modal-card-body::-webkit-scrollbar-thumb:window-inactive,
body.dark .modal.content .modal-card .modal-card-body::-webkit-scrollbar-thumb,
body.dark .modal.content table .modal-card-body::-webkit-scrollbar-thumb:window-inactive,
body.dark .modal.content table .modal-card-body::-webkit-scrollbar-thumb {
background: #2d2d2d;
}
body.dark .modal.content .title,
body.dark .modal.content table th {
color: white;
......@@ -376,25 +421,12 @@ body.dark .modal.content .tabs ul {
border-color: transparent;
}
body.dark .modal.content .tabs li a {
color: white;
border-color: #4a4a4a;
}
body.dark .modal.content .tabs li a:hover {
border-color: #CCCDCF;
color: white !important;
border-color: #5a5a5a !important;
}
body.dark .modal.content .tabs li.is-active a {
color: white;
border-color: #CCCDCF;
}
body.dark #sortByContainer li {
background: #2d2d2d;
color: white;
}
body.dark #sortByContainer li i {
color: #ebebeb;
}
body.dark #sortByContainer li.drag-sort-active {
border-left: 0.2em solid white;
color: #3273dc !important;
border-color: #3273dc !important;
}
body.dark .message.fixed {
background: transparent !important;
......@@ -406,19 +438,17 @@ body.dark .message.fixed .message-body {
color: #CCCDCF;
background: #3B3B3B !important;
}
body.dark .message.fixed .message-body .button {
body.dark .message.fixed .message-body button {
background: #2d2d2d !important;
}
body.dark .dueDate #datePickerInput,
body.dark .dueDate #datePickerInput::placeholder {
color: white !important;
background: transparent !important;
cursor: pointer;
}
body.dark .datepicker {
background: transparent;
}
body.dark .datepicker .button {
body.dark .datepicker button {
background: transparent !important;
}
body.dark .datepicker .datepicker-cell.today.focused:not(.selected),
......@@ -433,13 +463,13 @@ body.dark .datepicker .datepicker-picker {
background: #2d2d2d;
color: white;
}
body.dark .datepicker .datepicker-picker .button,