diff --git a/index.html b/index.html
index e4cc4771..e90aa0ca 100644
--- a/index.html
+++ b/index.html
@@ -572,9 +572,9 @@
return /^#[0-9a-f]{6}$/i.test(cachedBackground || '') ? cachedBackground : null
}
- // 读取已保存的主题偏好,缺省时跟随系统。
+ // 读取已保存的主题偏好,缺省时使用玻璃主题。
function getSavedThemePreference() {
- return getLocalStorageValue('theme') || 'auto'
+ return getLocalStorageValue('theme') || 'glass'
}
// 将启动阶段的主题偏好解析为实际主题。
diff --git a/package.json b/package.json
index 91bc2390..34dcd078 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "moviepilot",
- "version": "3.0.0",
+ "version": "3.0.1",
"private": true,
"type": "module",
"bin": "dist/service.js",
diff --git a/src/App.vue b/src/App.vue
index a68e85a1..20b1e48f 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -129,7 +129,7 @@ const glassMaterialTintColor = computed(
normalizeThemeMaterialAccent(globalTheme.current.value.colors.primary)?.hex ??
normalizeThemeMaterialAccent(themeCustomizerPrimaryColors[0].value)!.hex,
)
-let themeValue = localStorage.getItem('theme') || 'auto'
+let themeValue = localStorage.getItem('theme') || 'glass'
let resumeThemeSyncTimer: number | null = null
globalTheme.name.value = resolveInitialThemeName(themeValue)
applyStoredThemeCustomizerAppearance(vuetifyTheme)
@@ -527,7 +527,7 @@ function syncThemePreferenceFromStorage(preferCachedAuto = false) {
resumeThemeSyncTimer = null
}
- themeValue = localStorage.getItem('theme') || 'auto'
+ themeValue = localStorage.getItem('theme') || 'glass'
const resolvedTheme =
themeValue === 'auto' && preferCachedAuto
@@ -561,7 +561,7 @@ function syncThemePreferenceFromStorage(preferCachedAuto = false) {
// 系统配色变化时,在自动主题模式下刷新当前实际主题。
function handleSystemThemeChange() {
- if ((localStorage.getItem('theme') || 'auto') === 'auto') {
+ if ((localStorage.getItem('theme') || 'glass') === 'auto') {
syncThemePreferenceFromStorage()
}
}
diff --git a/src/components/theme/ThemeCustomizer.vue b/src/components/theme/ThemeCustomizer.vue
index 7e490e45..3f8198ab 100644
--- a/src/components/theme/ThemeCustomizer.vue
+++ b/src/components/theme/ThemeCustomizer.vue
@@ -215,7 +215,7 @@ async function handleResetSettings() {
await setRadius('default')
await setShadow('0')
await setSkin('default')
- await setTheme('auto')
+ await setTheme('glass')
}
diff --git a/src/composables/useThemeCustomizer.ts b/src/composables/useThemeCustomizer.ts
index 7a36b26c..7e80712c 100644
--- a/src/composables/useThemeCustomizer.ts
+++ b/src/composables/useThemeCustomizer.ts
@@ -168,11 +168,11 @@ function isHexColor(color: unknown): color is string {
/** 读取并校验本地存储中的主题偏好。 */
function readStoredThemePreference(): ThemeCustomizerTheme {
- if (!isBrowser()) return 'auto'
+ if (!isBrowser()) return 'glass'
const storedTheme = localStorage.getItem('theme')
- return validThemes.includes(storedTheme as ThemeCustomizerTheme) ? (storedTheme as ThemeCustomizerTheme) : 'auto'
+ return validThemes.includes(storedTheme as ThemeCustomizerTheme) ? (storedTheme as ThemeCustomizerTheme) : 'glass'
}
/** 从预设矩阵生成指定质量的清透自然玻璃默认设置。 */
@@ -660,7 +660,7 @@ export function isDefaultThemeCustomizerSettings(settings: ThemeCustomizerSettin
semiDarkMenu: false,
shadow: '0',
skin: 'default',
- theme: 'auto',
+ theme: 'glass',
})
return (
@@ -897,7 +897,7 @@ export function useThemeCustomizer() {
semiDarkMenu: false,
shadow: '0',
skin: 'default',
- theme: 'auto',
+ theme: 'glass',
})
}
diff --git a/src/layouts/default/components/UserProfile.vue b/src/layouts/default/components/UserProfile.vue
index 7ea7461f..5dfe2e92 100644
--- a/src/layouts/default/components/UserProfile.vue
+++ b/src/layouts/default/components/UserProfile.vue
@@ -282,7 +282,7 @@ const getUIModeIcon = computed(() => {
// 主题相关功能
const { name: themeName, global: globalTheme } = useTheme()
-const savedTheme = ref(localStorage.getItem('theme') ?? 'auto')
+const savedTheme = ref(localStorage.getItem('theme') ?? 'glass')
const currentThemeName = ref(savedTheme.value)
const themeCustomizerSettings = ref(readThemeCustomizerSettings())
@@ -332,7 +332,7 @@ function getThemeLayoutTitle(layout: ThemeCustomizerSettings['layout']) {
}
const currentThemeSummary = computed(() => {
- const themeTitle = themes.find(theme => theme.name === currentThemeName.value)?.title || t('theme.auto')
+ const themeTitle = themes.find(theme => theme.name === currentThemeName.value)?.title || t('theme.glass')
const layoutTitle = appMode.value ? '' : getThemeLayoutTitle(themeCustomizerSettings.value.layout)
if (layoutTitle) return `${themeTitle} · ${layoutTitle}`
diff --git a/src/main.ts b/src/main.ts
index 800f0dab..b115ade3 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -125,7 +125,7 @@ const AsyncAceEditor = defineAsyncComponent(async () => {
const AsyncApexChart = defineAsyncComponent(async () => {
const component = (await import('vue3-apexcharts')).default
- const themeName = document.documentElement.getAttribute('data-theme') || localStorage.getItem('theme') || 'light'
+ const themeName = document.documentElement.getAttribute('data-theme') || localStorage.getItem('theme') || 'glass'
configureApexChartsTheme(themeName)
return component
})
diff --git a/src/plugins/vuetify/theme.ts b/src/plugins/vuetify/theme.ts
index 35bc5e32..0ef938aa 100644
--- a/src/plugins/vuetify/theme.ts
+++ b/src/plugins/vuetify/theme.ts
@@ -1,7 +1,7 @@
import type { VuetifyOptions } from 'vuetify'
const theme: VuetifyOptions['theme'] = {
- defaultTheme: 'light',
+ defaultTheme: 'glass',
themes: {
light: {
dark: false,