feat: update language storage key and enhance theme button styles
This commit is contained in:
@@ -37,7 +37,7 @@ function buildResources() {
|
||||
// 获取持久化的语言设置(稍后由 Pinia store 提供)
|
||||
function getPersistedLanguage(): LanguageCode | null {
|
||||
try {
|
||||
const saved = localStorage.getItem('diona-language');
|
||||
const saved = localStorage.getItem('zn-language');
|
||||
return saved && SUPPORTED_LANGUAGE_CODES.includes(saved as LanguageCode) ? saved as LanguageCode : null;
|
||||
} catch {
|
||||
return null;
|
||||
@@ -88,7 +88,7 @@ export async function setLanguage(lang: LanguageCode, _i18n?: I18n) {
|
||||
|
||||
// 持久化到 localStorage(稍后由 Pinia store 处理)
|
||||
try {
|
||||
localStorage.setItem('diona-language', lang);
|
||||
localStorage.setItem('zn-language', lang);
|
||||
} catch {}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
class="theme-button px-5 py-1.5 rounded-full border text-[14px] font-medium transition-all duration-200 flex items-center gap-2"
|
||||
:class="[
|
||||
currentTheme === 'light'
|
||||
? 'bg-green-50 dark:bg-green-900/20 border-green-500 dark:border-green-400 text-green-700 dark:text-green-300'
|
||||
? 'bg-blue-50 dark:bg-blue-900/20 border-blue-500 dark:border-blue-400 text-blue-700 dark:text-blue-300'
|
||||
: 'bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700'
|
||||
]" @click="handleThemeChange('light')">
|
||||
<RiSunLine class="w-4 h-4" />
|
||||
@@ -27,7 +27,7 @@
|
||||
class="theme-button px-5 py-1.5 rounded-full border text-[14px] font-medium transition-all duration-200 flex items-center gap-2"
|
||||
:class="[
|
||||
currentTheme === 'dark'
|
||||
? 'bg-green-50 dark:bg-green-900/20 border-green-500 dark:border-green-400 text-green-700 dark:text-green-300'
|
||||
? 'bg-blue-50 dark:bg-blue-900/20 border-blue-500 dark:border-blue-400 text-blue-700 dark:text-blue-300'
|
||||
: 'bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700'
|
||||
]" @click="handleThemeChange('dark')">
|
||||
<RiMoonLine class="w-4 h-4" />
|
||||
@@ -39,7 +39,7 @@
|
||||
class="theme-button px-5 py-1.5 rounded-full border text-[14px] font-medium transition-all duration-200 flex items-center gap-2"
|
||||
:class="[
|
||||
currentTheme === 'system'
|
||||
? 'bg-green-50 dark:bg-green-900/20 border-green-500 dark:border-green-400 text-green-700 dark:text-green-300'
|
||||
? 'bg-blue-50 dark:bg-blue-900/20 border-blue-500 dark:border-blue-400 text-blue-700 dark:text-blue-300'
|
||||
: 'bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700'
|
||||
]" @click="handleThemeChange('system')">
|
||||
<RiComputerLine class="w-4 h-4" />
|
||||
@@ -61,7 +61,7 @@
|
||||
class="theme-button px-5 py-1.5 rounded-full border text-[14px] font-medium transition-all duration-200 flex items-center gap-2"
|
||||
:class="[
|
||||
currentLanguage === lang.code
|
||||
? 'bg-green-50 dark:bg-green-900/20 border-green-500 dark:border-green-400 text-green-700 dark:text-green-300'
|
||||
? 'bg-blue-50 dark:bg-blue-900/20 border-blue-500 dark:border-blue-400 text-blue-700 dark:text-blue-300'
|
||||
: 'bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700'
|
||||
]">
|
||||
{{ lang.label }}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { SUPPORTED_LANGUAGES, SUPPORTED_LANGUAGE_CODES } from '@src/i18n/constan
|
||||
import { resolveSupportedLanguage, detectSystemLanguage } from '@src/i18n/resolver';
|
||||
|
||||
// 持久化键
|
||||
const STORAGE_KEY = 'diona-language';
|
||||
const STORAGE_KEY = 'zn-language';
|
||||
|
||||
interface LocaleState {
|
||||
language: LanguageCode;
|
||||
|
||||
Reference in New Issue
Block a user