From 3976c0cf0c7acf941a702faae110064d64d71ea9 Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Sat, 16 May 2026 13:21:22 +0200 Subject: [PATCH] feat(gui-v2): add mobileOpen to useShellUiStore Co-Authored-By: Claude Opus 4.7 --- apps/app/src/stores/__tests__/useShellUiStore.spec.ts | 10 ++++++++++ apps/app/src/stores/useShellUiStore.ts | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/apps/app/src/stores/__tests__/useShellUiStore.spec.ts b/apps/app/src/stores/__tests__/useShellUiStore.spec.ts index 4023a4cb..b9723168 100644 --- a/apps/app/src/stores/__tests__/useShellUiStore.spec.ts +++ b/apps/app/src/stores/__tests__/useShellUiStore.spec.ts @@ -45,4 +45,14 @@ describe('useShellUiStore', () => { s.closeDrawer() expect(s.drawer.isOpen).toBe(false) }) + + it('mobileOpen defaults to false and setMobileOpen toggles it', () => { + const s = useShellUiStore() + + expect(s.mobileOpen).toBe(false) + s.setMobileOpen(true) + expect(s.mobileOpen).toBe(true) + s.setMobileOpen(false) + expect(s.mobileOpen).toBe(false) + }) }) diff --git a/apps/app/src/stores/useShellUiStore.ts b/apps/app/src/stores/useShellUiStore.ts index 5cb34ef8..6fd1cf7a 100644 --- a/apps/app/src/stores/useShellUiStore.ts +++ b/apps/app/src/stores/useShellUiStore.ts @@ -17,6 +17,7 @@ export interface ShellDrawerState { export const useShellUiStore = defineStore('shellUi', () => { const sidebarCollapsed = ref(false) + const mobileOpen = ref(false) const density = ref('comfortable') const theme = ref('light') const drawer = ref({ isOpen: false, component: null, props: {} }) @@ -25,6 +26,10 @@ export const useShellUiStore = defineStore('shellUi', () => { sidebarCollapsed.value = !sidebarCollapsed.value } + function setMobileOpen(v: boolean): void { + mobileOpen.value = v + } + function setTheme(next: ShellTheme): void { theme.value = next } @@ -51,10 +56,12 @@ export const useShellUiStore = defineStore('shellUi', () => { return { sidebarCollapsed, + mobileOpen, density, theme, drawer, toggleSidebar, + setMobileOpen, setTheme, setDensity, applyDomAttributes,