From 2cc38bbc17c5800ec4dad866f928a7de188e2434 Mon Sep 17 00:00:00 2001 From: Robin Dittmar Date: Mon, 31 Aug 2026 18:09:02 +0200 Subject: [PATCH] fix: abstracted modal's common code to BaseModal --- src/components/BaseModal.vue | 122 ++++++++++++++++ src/components/ChangePasswordModal.vue | 192 ++++++------------------- src/components/DeleteListModal.vue | 133 +++-------------- src/components/ShareListModal.vue | 156 ++++---------------- 4 files changed, 219 insertions(+), 384 deletions(-) create mode 100644 src/components/BaseModal.vue diff --git a/src/components/BaseModal.vue b/src/components/BaseModal.vue new file mode 100644 index 0000000..bfbe0f3 --- /dev/null +++ b/src/components/BaseModal.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/components/ChangePasswordModal.vue b/src/components/ChangePasswordModal.vue index 93dd060..358dda5 100644 --- a/src/components/ChangePasswordModal.vue +++ b/src/components/ChangePasswordModal.vue @@ -1,7 +1,7 @@ diff --git a/src/components/DeleteListModal.vue b/src/components/DeleteListModal.vue index d8f614c..38dc474 100644 --- a/src/components/DeleteListModal.vue +++ b/src/components/DeleteListModal.vue @@ -1,6 +1,6 @@ diff --git a/src/components/ShareListModal.vue b/src/components/ShareListModal.vue index 08ce08f..e3e208f 100644 --- a/src/components/ShareListModal.vue +++ b/src/components/ShareListModal.vue @@ -2,7 +2,7 @@ import { ref, onMounted, nextTick } from 'vue' import type { LocalList } from '@/database/db' import { useListsStore } from '@/stores/lists' -import { useEscapeKey } from '@/composables/useEscapeKey' +import BaseModal from '@/components/BaseModal.vue' const props = defineProps<{ list: LocalList @@ -20,8 +20,6 @@ const isSubmitting = ref(false) const error = ref('') const successMessage = ref('') -useEscapeKey(handleClose) - onMounted(() => { nextTick(() => { emailInput.value?.focus() @@ -53,103 +51,42 @@ async function handleAddUser() {