Made it so the side bar is minimized after refresh if it was before
This commit is contained in:
@@ -8,9 +8,11 @@ import "primeicons/primeicons.css";
|
|||||||
import {useRouter} from "next/router";
|
import {useRouter} from "next/router";
|
||||||
import {useEffect} from "react";
|
import {useEffect} from "react";
|
||||||
import useExamStore from "@/stores/examStore";
|
import useExamStore from "@/stores/examStore";
|
||||||
|
import usePreferencesStore from "@/stores/preferencesStore";
|
||||||
|
|
||||||
export default function App({Component, pageProps}: AppProps) {
|
export default function App({Component, pageProps}: AppProps) {
|
||||||
const reset = useExamStore((state) => state.reset);
|
const reset = useExamStore((state) => state.reset);
|
||||||
|
const setIsSidebarMinimized = usePreferencesStore((state) => state.setSidebarMinimized);
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
@@ -18,5 +20,15 @@ export default function App({Component, pageProps}: AppProps) {
|
|||||||
if (router.pathname !== "/exercises") reset();
|
if (router.pathname !== "/exercises") reset();
|
||||||
}, [router.pathname, reset]);
|
}, [router.pathname, reset]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (localStorage.getItem("isSidebarMinimized")) {
|
||||||
|
if (localStorage.getItem("isSidebarMinimized") === "true") {
|
||||||
|
setIsSidebarMinimized(true);
|
||||||
|
} else {
|
||||||
|
setIsSidebarMinimized(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [setIsSidebarMinimized]);
|
||||||
|
|
||||||
return <Component {...pageProps} />;
|
return <Component {...pageProps} />;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {create} from "zustand";
|
|||||||
export interface PreferencesState {
|
export interface PreferencesState {
|
||||||
isSidebarMinimized: boolean;
|
isSidebarMinimized: boolean;
|
||||||
toggleSidebarMinimized: () => void;
|
toggleSidebarMinimized: () => void;
|
||||||
|
setSidebarMinimized: (isMinimized: boolean) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const initialState = {
|
export const initialState = {
|
||||||
@@ -13,7 +14,18 @@ export const initialState = {
|
|||||||
|
|
||||||
const usePreferencesStore = create<PreferencesState>((set) => ({
|
const usePreferencesStore = create<PreferencesState>((set) => ({
|
||||||
...initialState,
|
...initialState,
|
||||||
toggleSidebarMinimized: () => set((state) => ({isSidebarMinimized: !state.isSidebarMinimized})),
|
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),
|
reset: () => set(() => initialState),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user