Files
qna-viewer-react/viewer/src/store/useSettingsStore.ts

26 lines
614 B
TypeScript

import { create } from "zustand";
import { persist } from "zustand/middleware";
type Theme = "light" | "dark" | "system";
interface SettingsState {
projectId: string | null;
theme: Theme;
setProjectId: (projectId: string) => void;
setTheme: (theme: Theme) => void;
}
export const useSettingsStore = create<SettingsState>()(
persist(
(set) => ({
projectId: "1", // 기본 프로젝트 ID를 1로 설정
theme: "system",
setProjectId: (projectId) => set({ projectId }),
setTheme: (theme) => set({ theme }),
}),
{
name: "settings-storage", // localStorage에 저장될 이름
},
),
);