import { useAtom } from "jotai" import { atomWithStorage } from "jotai/utils" import { layoutType, sidebarType, navBarType} from "@/lib/type" export type Config = { collapsed: boolean theme: string skin: 'default' | 'bordered' layout: layoutType sidebar: sidebarType menuHidden: boolean, showSearchBar: boolean, showSwitcher: boolean topHeader: 'default' | 'links' contentWidth: 'wide' | 'boxed' navbar: navBarType footer: 'sticky' | 'default' | 'hidden' isRtl: boolean subMenu: boolean hasSubMenu: boolean sidebarTheme: string, headerTheme: string, sidebarBgImage?: string radius: number } export const defaultConfig: Config = { collapsed: false, theme: "zinc", skin: 'default', layout: "vertical", sidebar: 'classic', menuHidden: false, showSearchBar: true, topHeader: 'default', contentWidth: 'wide', navbar: 'sticky', footer: 'default', isRtl: false, showSwitcher: true, subMenu: false, hasSubMenu: false, sidebarTheme: 'dark', headerTheme: 'light', sidebarBgImage: undefined, radius: 0.5, } const configAtom = atomWithStorage("config", defaultConfig) export function useConfig() { return useAtom(configAtom) }