mirror of
https://github.com/zyachel/quetre.git
synced 2025-04-07 06:57:37 +03:00
24 lines
883 B
JavaScript
24 lines
883 B
JavaScript
////////////////////////////////////////////////////////
|
|
// HELPER FUNCTIONS
|
|
////////////////////////////////////////////////////////
|
|
const isLocalStorageAccessible = () => {
|
|
try {
|
|
window.localStorage.getItem('test');
|
|
return true;
|
|
} catch {
|
|
return false;
|
|
}
|
|
};
|
|
const setTheme = theme => document.documentElement.setAttribute('theme', theme);
|
|
|
|
const userPrefersTheme = isLocalStorageAccessible() ? localStorage.getItem('theme') : null;
|
|
const browserPrefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
|
////////////////////////////////////////////////////////
|
|
// INIT FUNCTION
|
|
////////////////////////////////////////////////////////
|
|
(() => {
|
|
// applying theme preferences in case they exist
|
|
if (userPrefersTheme) setTheme(userPrefersTheme);
|
|
else if (browserPrefersDarkTheme) setTheme('dark');
|
|
})();
|