From e1a240a1b010148d8c3aaffbe9b9968f30ea0b77 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Sat, 23 Aug 2025 11:29:34 -0600 Subject: [PATCH] Settings dialog UX --- src/components/SettingsDialog.vue | 62 +++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/src/components/SettingsDialog.vue b/src/components/SettingsDialog.vue index 30b0cd9..6a01b69 100644 --- a/src/components/SettingsDialog.vue +++ b/src/components/SettingsDialog.vue @@ -18,16 +18,38 @@ const weekend = computed({ }) function open() { - show.value = true + // Toggle behavior: if already open, close instead + show.value = !show.value } function close() { show.value = false } +function resetAll() { + if (confirm('Delete ALL events and reset settings? This cannot be undone.')) { + if (typeof calendarStore.$reset === 'function') { + calendarStore.$reset() + } else { + // Fallback manual reset if $reset not available + calendarStore.today = new Date().toISOString().slice(0, 10) + calendarStore.now = new Date().toISOString() + calendarStore.events = new Map() + calendarStore.weekend = [6, 0] // common default (Sat/Sun) if locale helper not accessible here + calendarStore.config.first_day = 1 + } + // Optional: close dialog after reset + close() + } +} defineExpose({ open })