Files
googledocs-darkmode/inject/fallback.js
2026-03-12 11:29:26 -04:00

32 lines
1.3 KiB
JavaScript

(function () {
'use strict';
if (document.documentElement instanceof HTMLHtmlElement &&
matchMedia('(prefers-color-scheme: dark)').matches &&
!document.querySelector('.darkreader--fallback')) {
const css = 'html, body, body :not(iframe):not(div[style^="position:absolute;top:0;left:-"]) { background-color: #181a1b !important; border-color: #776e62 !important; color: #e8e6e3 !important; } html, body { opacity: 1 !important; transition: none !important; }';
const fallback = document.createElement('style');
fallback.classList.add('darkreader');
fallback.classList.add('darkreader--fallback');
fallback.media = 'screen';
fallback.textContent = css;
if (document.head) {
document.head.append(fallback);
}
else {
const root = document.documentElement;
root.append(fallback);
const observer = new MutationObserver(() => {
if (document.head) {
observer.disconnect();
if (fallback.isConnected) {
document.head.append(fallback);
}
}
});
observer.observe(root, { childList: true });
}
}
})();