ConvoyPanel/resources/scripts/state/settings.ts
2022-10-29 02:14:16 +00:00

27 lines
587 B
TypeScript

import { action, Action } from 'easy-peasy'
export interface SiteSettings {
theme: 'dark' | 'light'
}
export interface SettingsStore {
data?: SiteSettings
setSettings: Action<SettingsStore, SiteSettings>
setTheme: Action<SettingsStore, 'dark' | 'light'>
}
const settings: SettingsStore = {
data: undefined,
setSettings: action((state, payload) => {
state.data = payload
}),
setTheme: action((state, payload) => {
localStorage.setItem('theme', payload)
state.data = {
...state.data,
...{ theme: payload },
}
}),
}
export default settings