Files
encoach_frontend/src/stores/preferencesStore.ts
2024-09-04 09:31:03 +01:00

33 lines
897 B
TypeScript

import {Module} from "@/interfaces";
import {Exam, UserSolution} from "@/interfaces/exam";
import {create} from "zustand";
export interface PreferencesState {
isSidebarMinimized: boolean;
toggleSidebarMinimized: () => void;
setSidebarMinimized: (isMinimized: boolean) => void;
}
export const initialState = {
isSidebarMinimized: true,
};
const usePreferencesStore = create<PreferencesState>((set) => ({
...initialState,
setSidebarMinimized: (isMinimized: boolean) =>
set(() => {
localStorage.setItem("isSidebarMinimized", isMinimized.toString());
return {isSidebarMinimized: isMinimized};
}),
toggleSidebarMinimized: () =>
set((state) => {
localStorage.setItem("isSidebarMinimized", (!state.isSidebarMinimized).toString());
return {isSidebarMinimized: !state.isSidebarMinimized};
}),
reset: () => set(() => initialState),
}));
export default usePreferencesStore;