20 lines
443 B
TypeScript
20 lines
443 B
TypeScript
import { create } from "zustand";
|
|
import { persist } from "zustand/middleware";
|
|
|
|
export type ThemeName = "light" | "dark";
|
|
|
|
type ThemeStore = {
|
|
theme: ThemeName;
|
|
setTheme: (theme: ThemeName) => void;
|
|
};
|
|
|
|
export const useThemeStore = create<ThemeStore>()(
|
|
persist(
|
|
(set) => ({
|
|
theme: "dark",
|
|
setTheme: (theme) => set({ theme }),
|
|
}),
|
|
{ name: "infinite-canvas:theme_store" },
|
|
),
|
|
);
|