From 291429e1b88d712cd127a065bd4b3b02afaec3b4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 18 Feb 2026 11:36:35 +0200 Subject: [PATCH] refactor: migrate remaining dialogs to Vue Transition, remove old keyframes Convert Settings, Invoices, IdlePrompt, AppTrackingPrompt, and AppDiscard dialogs from animate-modal-enter CSS class to proper wrappers for enter/leave animations. Remove unused animate-modal-enter and animate-dropdown-enter keyframes. --- src/components/AppDiscardDialog.vue | 38 ++++++++++++++ src/components/AppTrackingPromptDialog.vue | 42 +++++++++++++++ src/components/IdlePromptDialog.vue | 61 ++++++++++++++++++++++ src/styles/main.css | 32 ------------ src/views/Invoices.vue | 8 ++- src/views/Settings.vue | 4 +- 6 files changed, 150 insertions(+), 35 deletions(-) create mode 100644 src/components/AppDiscardDialog.vue create mode 100644 src/components/AppTrackingPromptDialog.vue create mode 100644 src/components/IdlePromptDialog.vue diff --git a/src/components/AppDiscardDialog.vue b/src/components/AppDiscardDialog.vue new file mode 100644 index 0000000..f0a173d --- /dev/null +++ b/src/components/AppDiscardDialog.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/components/AppTrackingPromptDialog.vue b/src/components/AppTrackingPromptDialog.vue new file mode 100644 index 0000000..c042ad0 --- /dev/null +++ b/src/components/AppTrackingPromptDialog.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/components/IdlePromptDialog.vue b/src/components/IdlePromptDialog.vue new file mode 100644 index 0000000..3c94576 --- /dev/null +++ b/src/components/IdlePromptDialog.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/styles/main.css b/src/styles/main.css index 66bd000..946ca4d 100644 --- a/src/styles/main.css +++ b/src/styles/main.css @@ -160,38 +160,6 @@ animation: pulse-seconds 1s ease-in-out infinite; } -/* Modal animations */ -@keyframes modal-enter { - from { - opacity: 0; - transform: translateY(-8px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -.animate-modal-enter { - animation: modal-enter 200ms ease-out; -} - -/* Dropdown animations */ -@keyframes dropdown-enter { - from { - opacity: 0; - transform: translateY(-4px) scale(0.98); - } - to { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -.animate-dropdown-enter { - animation: dropdown-enter 150ms ease-out; -} - /* Toast animations */ @keyframes toast-enter { from { diff --git a/src/views/Invoices.vue b/src/views/Invoices.vue index 1336ae4..f85bd0a 100644 --- a/src/views/Invoices.vue +++ b/src/views/Invoices.vue @@ -230,12 +230,13 @@ +
-
+

{{ selectedInvoice?.invoice_number }}

@@ -298,14 +299,16 @@
+ +
-
+

Delete Invoice

Are you sure you want to delete invoice "{{ invoiceToDelete?.invoice_number }}"? This action cannot be undone. @@ -326,6 +329,7 @@

+
diff --git a/src/views/Settings.vue b/src/views/Settings.vue index a2b8b12..0c41038 100644 --- a/src/views/Settings.vue +++ b/src/views/Settings.vue @@ -471,12 +471,13 @@
+
-
+

Clear All Data

Are you sure? This action cannot be undone. @@ -500,6 +501,7 @@

+