import { ss } from '@/utils/storage'

const LOCAL_NAME = 'appSetting'

export type Theme = 'light' | 'dark' | 'auto'

export type Language = 'zh-CN' | 'zh-TW' | 'en-US'

export interface AppState {
    siderCollapsed: boolean
    theme: Theme
    language: Language
    minePannel: boolean
}

export function defaultSetting(): AppState {
    return { siderCollapsed: false, theme: 'auto', language: 'zh-CN', minePannel: false }
}

export function getLocalSetting(): AppState {
    const localSetting: AppState | undefined = ss.get(LOCAL_NAME)
    return { ...defaultSetting(), ...localSetting, minePannel: false }
}

export function setLocalSetting(setting: AppState): void {
    ss.set(LOCAL_NAME, setting)
}
