27 lines
653 B
TypeScript
27 lines
653 B
TypeScript
import { ss } from '@/utils/storage'
|
|
|
|
const LOCAL_NAME = 'appSetting'
|
|
|
|
export type Theme = 'light' | 'dark' | 'auto'
|
|
|
|
export type Language = 'zh-CN' | 'zh-TW' | 'en-US' | 'ko-KR' | 'ru-RU'
|
|
|
|
export interface AppState {
|
|
siderCollapsed: boolean
|
|
theme: Theme
|
|
language: Language
|
|
}
|
|
|
|
export function defaultSetting(): AppState {
|
|
return { siderCollapsed: true, theme: 'dark', language: 'zh-CN' }
|
|
}
|
|
|
|
export function getLocalSetting(): AppState {
|
|
const localSetting: AppState | undefined = ss.get(LOCAL_NAME)
|
|
return { ...defaultSetting(), ...localSetting }
|
|
}
|
|
|
|
export function setLocalSetting(setting: AppState): void {
|
|
ss.set(LOCAL_NAME, setting)
|
|
}
|