feat(gui-v2): add mobileOpen to useShellUiStore

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 13:21:22 +02:00
parent 547a281644
commit 3976c0cf0c
2 changed files with 17 additions and 0 deletions

View File

@@ -45,4 +45,14 @@ describe('useShellUiStore', () => {
s.closeDrawer() s.closeDrawer()
expect(s.drawer.isOpen).toBe(false) 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)
})
}) })

View File

@@ -17,6 +17,7 @@ export interface ShellDrawerState {
export const useShellUiStore = defineStore('shellUi', () => { export const useShellUiStore = defineStore('shellUi', () => {
const sidebarCollapsed = ref(false) const sidebarCollapsed = ref(false)
const mobileOpen = ref(false)
const density = ref<ShellDensity>('comfortable') const density = ref<ShellDensity>('comfortable')
const theme = ref<ShellTheme>('light') const theme = ref<ShellTheme>('light')
const drawer = ref<ShellDrawerState>({ isOpen: false, component: null, props: {} }) const drawer = ref<ShellDrawerState>({ isOpen: false, component: null, props: {} })
@@ -25,6 +26,10 @@ export const useShellUiStore = defineStore('shellUi', () => {
sidebarCollapsed.value = !sidebarCollapsed.value sidebarCollapsed.value = !sidebarCollapsed.value
} }
function setMobileOpen(v: boolean): void {
mobileOpen.value = v
}
function setTheme(next: ShellTheme): void { function setTheme(next: ShellTheme): void {
theme.value = next theme.value = next
} }
@@ -51,10 +56,12 @@ export const useShellUiStore = defineStore('shellUi', () => {
return { return {
sidebarCollapsed, sidebarCollapsed,
mobileOpen,
density, density,
theme, theme,
drawer, drawer,
toggleSidebar, toggleSidebar,
setMobileOpen,
setTheme, setTheme,
setDensity, setDensity,
applyDomAttributes, applyDomAttributes,