import { ss } from '@/utils/storage' const LOCAL_NAME = 'appSetting' export type Theme = 'light' | 'dark' | 'auto' export type Language = 'en-US' | 'vi-VN' const languageMap: { [key: string]: Language } = { 'en': 'en-US', 'en-US': 'en-US', 'vi': 'vi-VN', 'vi-VN': 'vi-VN', } export interface AppState { siderCollapsed: boolean theme: Theme language: Language } export function defaultSetting(): AppState { const language = languageMap[navigator.language] return { siderCollapsed: false, theme: 'light', language } } 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) }