Files
kintone-customize-manager/src/renderer/src/stores/themeStore.ts

33 lines
594 B
TypeScript

/**
* Theme Store
* Manages theme mode preference with localStorage persistence
*/
import { create } from "zustand";
import { persist } from "zustand/middleware";
export type ThemeMode = "light" | "dark" | "auto";
interface ThemeState {
// State
themeMode: ThemeMode;
// Actions
setThemeMode: (mode: ThemeMode) => void;
}
export const useThemeStore = create<ThemeState>()(
persist(
(set) => ({
// Initial state
themeMode: "auto",
// Actions
setThemeMode: (mode) => set({ themeMode: mode }),
}),
{
name: "theme-storage",
}
)
);