Skip to content

Commit 20036d7

Browse files
committed
Added system/browser scheme change detection to trigger update colors ↞ [auto-sync from https://github.com/KudoAI/chatgpt.js-chrome-starter]
1 parent e9c96ad commit 20036d7

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

starters/chrome/extension/content.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,15 @@
9898
settings.save('skipAlert', !config.skipAlert) }
9999
)
100100

101-
// Monitor SCHEME CHANGES to update modal colors + env.scheme for your use
102-
new MutationObserver(() => { env.scheme = getScheme() ; modals.stylize() })
103-
.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] })
101+
// Monitor SCHEME PREF CHANGES to update modal colors + env.scheme for your use
102+
new MutationObserver(handleSchemePrefChange).observe( // for site scheme pref changes
103+
document.documentElement, { attributes: true, attributeFilter: ['class'] })
104+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener( // for browser/system scheme pref changes
105+
'change', () => requestAnimationFrame(handleSchemePrefChange))
106+
function handleSchemePrefChange() {
107+
const displayedScheme = getScheme()
108+
if (env.scheme != displayedScheme) { env.scheme = displayedScheme ; modals.stylize() }
109+
}
104110

105111
// Your code here...
106112
// Your code here...

0 commit comments

Comments
 (0)