diff --git a/frontend/static/css/add_edit.css b/frontend/static/css/add_edit.css index cb87d9a..79c8faf 100644 --- a/frontend/static/css/add_edit.css +++ b/frontend/static/css/add_edit.css @@ -40,9 +40,6 @@ font-size: 1.1rem; transition: background-color .1s ease-in-out; - -o-transition: background-color .1s ease-in-out; - -moz-transition: background-color .1s ease-in-out; - -webkit-transition: background-color .1s ease-in-out; } .options > button:hover { diff --git a/frontend/static/css/general.css b/frontend/static/css/general.css index 28756dd..9d354db 100644 --- a/frontend/static/css/general.css +++ b/frontend/static/css/general.css @@ -185,9 +185,6 @@ nav { background-color: var(--color-gray); transition: left .3s ease-in-out; - -o-transition: left .3s ease-in-out; - -moz-transition: left .3s ease-in-out; - -webkit-transition: left .3s ease-in-out; } nav > div { @@ -212,9 +209,6 @@ nav > div > button { color: var(--color-light); transition: background-color .1s ease-in-out; - -o-transition: background-color .1s ease-in-out; - -moz-transition: background-color .1s ease-in-out; - -webkit-transition: background-color .1s ease-in-out; } nav > div > button:hover { @@ -235,9 +229,6 @@ nav > div > button svg { overflow-x: hidden; transition: margin-left .3s ease-in-out; - -o-transition: margin-left .3s ease-in-out; - -moz-transition: margin-left .3s ease-in-out; - -webkit-transition: margin-left .3s ease-in-out; } .window-container > div { @@ -245,22 +236,12 @@ nav > div > button svg { flex: 0 0 auto; transform: translateX(0); - -o-transform: translateX(0); - -moz-transform: translateX(0); - -webkit-transform: translateX(0); transition: transform .5s ease-in-out; - -o-transition: transform .5s ease-in-out; - -moz-transition: transform .5s ease-in-out; - -webkit-transition: transform .5s ease-in-out; } -.window-container:has(.show-window) #home, -.window-container:has(.show-window) .show-window { +.window-container > div.show-window { transform: translateX(-100%); - -o-transform: translateX(-100%); - -moz-transform: translateX(-100%); - -webkit-transform: translateX(-100%); } .window-container > div:not(#home) { diff --git a/frontend/static/css/login.css b/frontend/static/css/login.css index 71e3391..4151a8a 100644 --- a/frontend/static/css/login.css +++ b/frontend/static/css/login.css @@ -6,9 +6,6 @@ main { main.show-create > .form-container { transform: translateY(-100%); - -o-transform: translateY(-100%); - -moz-transform: translateY(-100%); - -webkit-transform: translateY(-100%); } .form-container { @@ -21,9 +18,6 @@ main.show-create > .form-container { padding: 1rem; transition: transform .25s ease-in-out; - -o-transition: transform .25s ease-in-out; - -moz-transition: transform .25s ease-in-out; - -webkit-transition: transform .25s ease-in-out; } form { diff --git a/frontend/static/css/notification.css b/frontend/static/css/notification.css index 60792f2..6a823f6 100644 --- a/frontend/static/css/notification.css +++ b/frontend/static/css/notification.css @@ -33,11 +33,11 @@ padding-block: .5rem; } -.table-container > table td { +#services-list > tr > td { border-top: 1px solid var(--color-gray); } -.table-container > table tr:has(input:not(:read-only)) td { +#services-list > tr.edit > td { padding-block: .5rem; } @@ -69,7 +69,7 @@ padding: 0; } -#services-list tr:has(input:not(:read-only)) td.action-column { +#services-list > tr.edit > td.action-column { padding-block: 1rem; } @@ -86,12 +86,12 @@ height: 1rem; } -#services-list tr:has(input:read-only) > td.action-column > button[data-type="edit"], -#services-list tr:not(:has(input:read-only)) > td.action-column > button[data-type="save"] { +#services-list > tr:not(.edit) > td.action-column > button[data-type="edit"], +#services-list > tr.edit > td.action-column > button[data-type="save"] { display: inline-block; } -#services-list tr:not(:has(input:read-only)) > td.action-column > button[data-type="edit"], -#services-list tr:has(input:read-only) > td.action-column > button[data-type="save"] { +#services-list > tr.edit > td.action-column > button[data-type="edit"], +#services-list > tr:not(.edit) > td.action-column > button[data-type="save"] { display: none; } \ No newline at end of file diff --git a/frontend/static/css/reminders.css b/frontend/static/css/reminders.css index 130db65..cce7875 100644 --- a/frontend/static/css/reminders.css +++ b/frontend/static/css/reminders.css @@ -39,9 +39,6 @@ opacity: 0; transition: opacity .1s linear; - -o-transition: opacity .1s linear; - -moz-transition: opacity .1s linear; - -webkit-transition: opacity .1s linear; } .search-bar:focus-within #clear-button { @@ -72,11 +69,12 @@ width: 2rem; } -#add-entry:not(:has(p#no-service-error.hidden)) path { - fill: var(--color-error); +#add-entry:not(.error.error-icon) p { + display: none; } -#no-service-error { +#add-entry.error.error-icon p { + display: block; font-size: .8rem !important; } @@ -119,9 +117,6 @@ background-color: rgb(0 0 0 / 25%); transition: opacity .2s ease-in; - -o-transition: opacity .2s ease-in; - -moz-transition: opacity .2s ease-in; - -webkit-transition: opacity .2s ease-in; } .entry-overlay::before { @@ -150,9 +145,6 @@ @media (max-width: 543px) { header > div { transform: translateX(0); - -o-transform: translateX(0); - -moz-transform: translateX(0); - -webkit-transform: translateX(0); } .entry { diff --git a/frontend/static/js/add.js b/frontend/static/js/add.js index 4349cb7..8e60c7c 100644 --- a/frontend/static/js/add.js +++ b/frontend/static/js/add.js @@ -37,7 +37,7 @@ function addReminder() { }; function showAdd() { - if (document.getElementById('no-service-error').classList.contains('hidden')) { + if (!document.getElementById('add-entry').classList.contains('error')) { showWindow('add'); }; }; diff --git a/frontend/static/js/general.js b/frontend/static/js/general.js index de100ce..270b43e 100644 --- a/frontend/static/js/general.js +++ b/frontend/static/js/general.js @@ -13,8 +13,8 @@ function toggleNav() { }; function showWindow(id) { - document.querySelectorAll(`.window-container > div:not(#home)`).forEach(e => { - if (e.id === id) { + document.querySelectorAll(`.window-container > div`).forEach(e => { + if (e.id === id || e.id === 'home') { e.classList.remove('hidden'); setTimeout(() => e.classList.add('show-window'), 0); } else { @@ -25,10 +25,9 @@ function showWindow(id) { }; function hideWindow() { - const el = document.querySelector('.show-window') - if (el) { - el.classList.remove('show-window'); - }; + document.querySelectorAll('.show-window').forEach(e => { + e.classList.remove('show-window'); + }); }; // code run on load diff --git a/frontend/static/js/notification.js b/frontend/static/js/notification.js index 79c7186..c57f3d6 100644 --- a/frontend/static/js/notification.js +++ b/frontend/static/js/notification.js @@ -10,7 +10,7 @@ function fillNotificationSelection() { }) .then(json => { if (json.result.length) { - document.getElementById('no-service-error').classList.add('hidden'); + document.getElementById('add-entry').classList.remove('error', 'error-icon'); [document.getElementById('notification-service-input'), document.getElementById('notification-service-edit-input')].forEach(options => { options.innerHTML = ''; @@ -78,7 +78,7 @@ function fillNotificationSelection() { table.appendChild(entry); }); } else { - document.getElementById('no-service-error').classList.remove('hidden'); + document.getElementById('add-entry').classList.add('error', 'error-icon'); }; }) .catch(e => { @@ -102,6 +102,9 @@ function deleteService(id) { }; row.remove(); + if (document.querySelectorAll('#services-list > tr:not(#add-row)').length === 0) { + document.getElementById('add-entry').classList.add('error', 'error-icon'); + }; }) .catch(e => { if (e === 401) { @@ -118,6 +121,7 @@ function deleteService(id) { function editService(id) { document.querySelectorAll(`tr[data-id="${id}"] input`).forEach(e => e.removeAttribute('readonly')); + document.querySelector(`tr[data-id="${id}"]`).classList.add('edit'); }; function saveService(id) { diff --git a/frontend/templates/reminders.html b/frontend/templates/reminders.html index 1237989..bd1e0cc 100644 --- a/frontend/templates/reminders.html +++ b/frontend/templates/reminders.html @@ -109,7 +109,7 @@ - +

Add a notification service first!