mirror of
https://github.com/massbug/judge4c.git
synced 2025-05-18 15:26:33 +00:00
28 lines
706 B
TypeScript
28 lines
706 B
TypeScript
import { create } from "zustand";
|
|
import { persist } from "zustand/middleware";
|
|
|
|
interface SettingsState {
|
|
activeSetting: string;
|
|
isDialogOpen: boolean;
|
|
setActiveSetting: (setting: string) => void;
|
|
setDialogOpen: (open: boolean) => void;
|
|
}
|
|
|
|
export const useSettingsStore = create<SettingsState>()(
|
|
persist(
|
|
(set) => ({
|
|
activeSetting: "Appearance",
|
|
isDialogOpen: false,
|
|
setActiveSetting: (setting) => set({ activeSetting: setting }),
|
|
setDialogOpen: (open) => set({ isDialogOpen: open }),
|
|
}),
|
|
{
|
|
name: "settings-state",
|
|
partialize: (state) => ({
|
|
activeNav: state.activeSetting,
|
|
isDialogOpen: state.isDialogOpen,
|
|
}),
|
|
}
|
|
)
|
|
);
|