Files
supabase/apps/docs/hooks/useMenuState.ts
Jonathan Summers-Muir 948132c406 do same with red docs
2022-12-14 01:47:41 +08:00

31 lines
713 B
TypeScript

import { proxy, useSnapshot } from 'valtio'
export const menuState = proxy({
// values
menuActiveRefId: 'home',
// set states
setMenuActiveRefId: (value) => {
menuState.menuActiveRefId = value
},
menuLevelId: 'home',
setMenuLevelId: (value) => {
menuState.menuMobileOpen = false
menuState.menuLevelId = value
},
menuMobileOpen: false,
setMenuMobileOpen: (value) => {
menuState.menuMobileOpen = value
},
})
export const useMenuActiveRefId = () => {
return useSnapshot(menuState).menuActiveRefId
}
export const useMenuLevelId = () => {
return useSnapshot(menuState).menuLevelId
}
export const useMenuMobileOpen = () => {
return useSnapshot(menuState).menuMobileOpen
}