@@ -10,12 +10,10 @@ export type ConfigProps = {
1010 inputBg : boolean ;
1111} ;
1212
13- /** 读 localStorage 中的 themeMode,默认 'system' */
1413function checkThemeMode ( ) : ThemeMode {
1514 const mode = localStorage . getItem ( 'themeMode' ) as ThemeMode | null ;
1615 if ( mode === 'light' || mode === 'dark' || mode === 'system' ) return mode ;
1716
18- // 迁移旧数据:如果存在旧的 uiTheme 但没有 themeMode,按旧值推断意图
1917 const legacyTheme = localStorage . getItem ( 'uiTheme' ) ;
2018 if ( legacyTheme === 'PurpleThemeDark' ) {
2119 localStorage . setItem ( 'themeMode' , 'dark' ) ;
@@ -30,11 +28,9 @@ function checkThemeMode(): ThemeMode {
3028 return 'system' ;
3129}
3230
33- /** 根据 themeMode 计算出实际应使用的 Vuetify 主题名 */
34- function resolveUiTheme ( mode : ThemeMode ) : string {
31+ export function resolveUiTheme ( mode : ThemeMode ) : string {
3532 if ( mode === 'dark' ) return 'PurpleThemeDark' ;
3633 if ( mode === 'light' ) return 'PurpleTheme' ;
37- // system:用 matchMedia 判断当前系统偏好
3834 const prefersDark =
3935 typeof window !== 'undefined' &&
4036 window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches ;
@@ -44,7 +40,6 @@ function resolveUiTheme(mode: ThemeMode): string {
4440const themeMode = checkThemeMode ( ) ;
4541const uiTheme = resolveUiTheme ( themeMode ) ;
4642
47- // 保证 uiTheme 在 localStorage 中与计算结果一致
4843localStorage . setItem ( 'uiTheme' , uiTheme ) ;
4944
5045const config : ConfigProps = {
0 commit comments