feat(confidence-engine): add dark mode
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
export const THEME_STORAGE_KEY = "confidence-engine-theme";
|
||||
|
||||
export function resolveTheme({ savedTheme, systemPrefersDark = false } = {}) {
|
||||
if (savedTheme === "light" || savedTheme === "dark") return savedTheme;
|
||||
return systemPrefersDark ? "dark" : "light";
|
||||
}
|
||||
|
||||
export function toggleTheme(theme) {
|
||||
return theme === "dark" ? "light" : "dark";
|
||||
}
|
||||
|
||||
export function readThemePreference(storage) {
|
||||
try {
|
||||
return storage?.getItem(THEME_STORAGE_KEY) ?? null;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function saveThemePreference(theme, storage) {
|
||||
storage?.setItem(THEME_STORAGE_KEY, theme);
|
||||
}
|
||||
Reference in New Issue
Block a user