From d555523f42365e774b7442bbdf9e8d7e85bfaf2b Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Sat, 23 Aug 2025 11:01:39 -0600 Subject: [PATCH] Settings dialog opening button. --- src/components/CalendarView.vue | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/components/CalendarView.vue b/src/components/CalendarView.vue index d8f0fe0..4ccf351 100644 --- a/src/components/CalendarView.vue +++ b/src/components/CalendarView.vue @@ -4,6 +4,7 @@ import { useCalendarStore } from '@/stores/CalendarStore' import CalendarHeader from '@/components/CalendarHeader.vue' import CalendarWeek from '@/components/CalendarWeek.vue' import Jogwheel from '@/components/Jogwheel.vue' +import SettingsDialog from '@/components/SettingsDialog.vue' import { isoWeekInfo, getLocalizedMonthName, @@ -21,6 +22,7 @@ import { toLocalString, fromLocalString } from '@/utils/date' const calendarStore = useCalendarStore() const viewport = ref(null) +const settingsDialog = ref(null) const emit = defineEmits(['create-event', 'edit-event']) @@ -424,6 +426,10 @@ const handleHeaderYearChange = ({ scrollTop: st }) => { scrollTop.value = clamped viewport.value && (viewport.value.scrollTop = clamped) } + +function openSettings() { + settingsDialog.value?.open() +} @@ -506,6 +522,33 @@ header h1 { align-items: center; } +.settings-btn { + background: transparent; + border: none; + color: var(--muted); + padding: 0; + margin: 0; + margin-right: 0.6rem; + cursor: pointer; + font-size: 1.5rem; + line-height: 1; + display: inline-flex; + align-items: center; + justify-content: center; + outline: none; +} +.settings-btn:hover { + color: var(--strong); +} +.settings-btn:focus-visible { + /* Keep visual accessibility without background */ + outline: 2px solid var(--selected); + outline-offset: 2px; +} +.settings-btn:active { + transform: scale(0.88); +} + .today-date { cursor: pointer; padding: 0.5rem;