Files
openclaw/ui/src/ui/theme.ts
T

17 lines
485 B
TypeScript

export type ThemeMode = "system" | "light" | "dark";
export type ResolvedTheme = "light" | "dark";
export function getSystemTheme(): ResolvedTheme {
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
return "dark";
}
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
}
export function resolveTheme(mode: ThemeMode): ResolvedTheme {
if (mode === "system") {
return getSystemTheme();
}
return mode;
}