import { getStorage, setStorage } from '@/utils/storage'

export type LanguageType = 'zh-CN' | 'zh-HK' | 'en-US'
const langMap: Record<LanguageType, string> = {
  'zh-CN': 'zh-CN', // 简体中文（中国大陆）
  'zh-HK': 'zh-HK', // 繁体中文（中国香港）
  'en-US': 'en-US' // 英语（美国）
}

export const useLanguageStore = defineStore('language', () => {
  const initLang = getStorage('lang') as LanguageType || 'zh-CN'
  const lang = ref<LanguageType>(initLang)

  if (!getStorage('lang')) {
    setStorage('lang', initLang)
  }

  const changeLang = (newLang: LanguageType) => {
    lang.value = newLang
    setStorage('lang', newLang)
    // i18n 的 locale 会通过 watch 自动同步
  }

  return { lang, changeLang }
})