feat(gui-v2): add mobileOpen to useShellUiStore
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user