2025-06-12 16:36:02 +02:00

25 lines
765 B
TypeScript

import { create } from "zustand";
import { persist, createJSONStorage } from 'zustand/middleware';
export interface SidenavState {
open: boolean;
pinned: boolean;
toggleSidenav: () => void;
togglePinned: () => void;
}
export const useSidenavStore = create<SidenavState>()(
persist(
(set) => ({
open: false,
pinned: false,
toggleSidenav: () => set((state) => ({ open: !state.open })),
togglePinned: () => set((state) => ({ pinned: !state.pinned })),
}),
{
name: 'sidenav-storage', // name of the item in the storage (must be unique)
storage: createJSONStorage(() => localStorage), // (optional) by default, 'localStorage' is used
}
)
)