Files
Rental-operations-platform/contracts/phase9/interaction/theme-bootstrap_v1.0.js
T

17 lines
757 B
JavaScript

(function () {
var allowed = { light: true, dark: true, system: true };
var cookieMatch = document.cookie.match(/(?:^|; )hpc-theme=([^;]+)/);
var cookieValue = cookieMatch ? decodeURIComponent(cookieMatch[1]) : null;
var stored = null;
try {
stored = localStorage.getItem('hpc.theme.preference');
} catch (_) {}
var preference = allowed[cookieValue] ? cookieValue : allowed[stored] ? stored : 'system';
var dark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
var resolved = preference === 'system' ? (dark ? 'dark' : 'light') : preference;
var root = document.documentElement;
root.dataset.themePreference = preference;
root.dataset.theme = resolved;
root.style.colorScheme = resolved;
})();