export const useSettingsStore = defineStore("settings", { state: () => ({ activeMenu: null as string | null, navigationStack: [] as string[], }), getters: { isMenuOpen: (state) => (menu: string) => { if (!state.activeMenu) return false; return new RegExp(`^${menu}[A-Z]`).test(state.activeMenu); }, isAnyOtherMenuOpen: (state) => (excludeMenu: string) => { if (!state.activeMenu) return false; return ["options", "clock", "user", "touchScreen"] .filter((m) => m !== excludeMenu) .some((m) => new RegExp(`^${m}[A-Z]`).test(state.activeMenu!)); }, currentView: (state) => { if (state.navigationStack.length === 0) return "menu"; return state.navigationStack[state.navigationStack.length - 1]; }, }, actions: { setActiveMenu(menu: string | null) { this.activeMenu = menu; }, pushNavigation(view: string) { this.navigationStack.push(view); }, popNavigation() { this.navigationStack.pop(); }, }, });