Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/trueberryless/ai-disclosure. A practical guide for transparent AI usage disclosure across software ai-disclosure.trueberryless.org
Something went wrong. Try again.
700 B · 25 lines
TypeScript
at main
1234567891011121314151617181920212223242526import { applyThemePreference, parseThemePreference, readThemePreference, storeThemePreference,} from "../libs/theme";
const select = document.querySelector<HTMLSelectElement>("#theme-select");const systemTheme = matchMedia("(prefers-color-scheme: dark)");const root = document.documentElement;
if (select) { select.value = readThemePreference(localStorage);
select.addEventListener("change", () => { const preference = parseThemePreference(select.value);
storeThemePreference(localStorage, preference); applyThemePreference(root, preference); });}
systemTheme.addEventListener("change", () => { applyThemePreference(root, readThemePreference(localStorage));});