feat: 添加主题管理功能,更新系统设置页面,优化用户体验

This commit is contained in:
2025-12-20 03:48:01 +07:00
parent 916cbe9d24
commit 5c06c7ce0a
14 changed files with 196 additions and 70 deletions

View File

@@ -0,0 +1,26 @@
import { usePreferredDark } from "@vueuse/core";
export type ThemeMode = "light" | "dark" | "auto";
const STORAGE_KEY = "app-theme-mode";
export function useTheme() {
const prefersDark = usePreferredDark();
const theme = useStorage<ThemeMode>(STORAGE_KEY, "auto");
const isDark = computed(() => {
if (theme.value === "auto") {
return prefersDark.value;
}
return theme.value === "dark";
});
watch(isDark, (dark) => {
document.documentElement.classList.toggle("ion-palette-dark", dark);
}, { immediate: true });
return {
theme,
isDark,
};
}