Add: handle color scheme
This commit is contained in:
parent
04b546034b
commit
831d1b6fc3
|
@ -38,18 +38,21 @@ const colorScheme = (() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function shouldIncludeStyle(style) {
|
function shouldIncludeStyle(style) {
|
||||||
if (style.preferScheme === 'always') {
|
const isDark = style.preferScheme === 'dark';
|
||||||
|
const isLight = style.preferScheme === 'light';
|
||||||
|
if (!isDark && !isLight) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (prefs.get('schemeSwitcher.enabled') === 'never') {
|
const switcherState = prefs.get('schemeSwitcher.enabled');
|
||||||
|
if (switcherState === 'never') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (prefs.get('schemeSwitcher.enabled') === 'system') {
|
if (switcherState === 'system') {
|
||||||
return systemPreferDark && style.preferScheme === 'dark' ||
|
return systemPreferDark && isDark ||
|
||||||
!systemPreferDark && style.preferScheme === 'light';
|
!systemPreferDark && isLight;
|
||||||
}
|
}
|
||||||
return timePreferDark && style.preferScheme === 'dark' ||
|
return timePreferDark && isDark ||
|
||||||
!timePreferDark && style.preferScheme === 'light';
|
!timePreferDark && isLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSystemPreferDark() {
|
function updateSystemPreferDark() {
|
||||||
|
|
|
@ -61,6 +61,7 @@ const styleManager = (() => {
|
||||||
};
|
};
|
||||||
|
|
||||||
handleLivePreviewConnections();
|
handleLivePreviewConnections();
|
||||||
|
handleColorScheme();
|
||||||
|
|
||||||
return ensurePrepared({
|
return ensurePrepared({
|
||||||
get,
|
get,
|
||||||
|
@ -81,6 +82,16 @@ const styleManager = (() => {
|
||||||
removeInclusion
|
removeInclusion
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function handleColorScheme() {
|
||||||
|
colorScheme.onChange(() => {
|
||||||
|
for (const {data} of styles.values()) {
|
||||||
|
if (data.preferScheme === 'dark' || data.preferScheme === 'light') {
|
||||||
|
broadcastStyleUpdated(data, 'colorScheme', undefined, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function handleLivePreviewConnections() {
|
function handleLivePreviewConnections() {
|
||||||
chrome.runtime.onConnect.addListener(port => {
|
chrome.runtime.onConnect.addListener(port => {
|
||||||
if (port.name !== 'livePreview') {
|
if (port.name !== 'livePreview') {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user