21 lines
407 B
TypeScript
21 lines
407 B
TypeScript
import { create } from 'zustand';
|
|
import { persist } from 'zustand/middleware';
|
|
import type { ThemeName } from '@/themes';
|
|
|
|
interface ThemeState {
|
|
theme: ThemeName;
|
|
setTheme: (theme: ThemeName) => void;
|
|
}
|
|
|
|
export const useThemeStore = create<ThemeState>()(
|
|
persist(
|
|
(set) => ({
|
|
theme: 'light',
|
|
setTheme: (theme) => set({ theme }),
|
|
}),
|
|
{
|
|
name: 'horux-theme',
|
|
}
|
|
)
|
|
);
|