Files
dbx/src/lib/appTheme.ts
T
2026-05-13 10:48:34 +08:00

21 lines
708 B
TypeScript

import type { Theme } from "@tauri-apps/api/window";
export const APP_THEME_STORAGE_KEY = "dbx-theme";
export type AppThemeMode = "light" | "dark" | "system";
export type AppThemeAppearance = "light" | "dark";
export function normalizeAppThemeMode(value: string | null): AppThemeMode {
if (value === "dark" || value === "light" || value === "system") return value;
return "light";
}
export function resolveAppThemeAppearance(mode: AppThemeMode, systemPrefersDark: boolean): AppThemeAppearance {
if (mode === "system") return systemPrefersDark ? "dark" : "light";
return mode;
}
export function getTauriThemeForMode(mode: AppThemeMode): Theme | null {
return mode === "system" ? null : mode;
}