csg-dash-demo / frontend /src /stores /themeStore.ts
richtext's picture
Upload folder using huggingface_hub
3674b4b verified
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
type Theme = 'light' | 'dark'
interface ThemeState {
theme: Theme
toggleTheme: () => void
setTheme: (theme: Theme) => void
}
export const useThemeStore = create<ThemeState>()(
persist(
(set, get) => ({
theme: 'light',
toggleTheme: () => {
const newTheme = get().theme === 'light' ? 'dark' : 'light'
set({ theme: newTheme })
},
setTheme: (theme: Theme) => set({ theme })
}),
{
name: 'theme-storage'
}
)
)