26 lines
614 B
TypeScript
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에 저장될 이름
|
|
},
|
|
),
|
|
);
|