fix: lock dark mode toggle with theme settings

This commit is contained in:
sethburkart123
2024-08-21 17:36:21 +10:00
parent 5549de571d
commit 5d97ab3da6
3 changed files with 18 additions and 5 deletions
+13 -1
View File
@@ -4,6 +4,7 @@ import { appendBackgroundToUI } from "./ImageBackgrounds";
import stringToHTML from "../utils/stringToHTML"; import stringToHTML from "../utils/stringToHTML";
import { settingsState } from "../utils/listeners/SettingsState"; import { settingsState } from "../utils/listeners/SettingsState";
import { updateAllColors } from "./colors/Manager"; import { updateAllColors } from "./colors/Manager";
import { delay } from "../utils/delay";
export async function AddBetterSEQTAElements() { export async function AddBetterSEQTAElements() {
if (settingsState.onoff) { if (settingsState.onoff) {
@@ -247,11 +248,22 @@ async function addDarkLightToggle() {
updateAllColors(); updateAllColors();
document.getElementById('LightDarkModeButton')!.addEventListener('click', async () => { document.getElementById('LightDarkModeButton')!.addEventListener('click', async () => {
const darklightText = document.getElementById('darklighttooliptext');
if (settingsState.originalDarkMode) {
darklightText!.innerText = 'Locked by current theme';
await delay(1000)
darklightText!.innerText = GetLightDarkModeString();
return
}
settingsState.DarkMode = !settingsState.DarkMode; settingsState.DarkMode = !settingsState.DarkMode;
updateAllColors(); updateAllColors();
const darklightText = document.getElementById('darklighttooliptext');
darklightText!.innerText = GetLightDarkModeString(); darklightText!.innerText = GetLightDarkModeString();
}); });
} }
+4 -3
View File
@@ -3,14 +3,15 @@ import { settingsState } from '../../utils/listeners/SettingsState';
import { applyCustomCSS } from './Themes'; import { applyCustomCSS } from './Themes';
export const applyTheme = async (theme: CustomTheme) => { export const applyTheme = async (theme: CustomTheme, reEnable?: boolean) => {
let CustomCSS = ''; let CustomCSS = '';
let CustomImages: CustomImage[] = []; let CustomImages: CustomImage[] = [];
if (theme?.CustomCSS) CustomCSS = theme.CustomCSS; if (theme?.CustomCSS) CustomCSS = theme.CustomCSS;
if (theme?.CustomImages) CustomImages = theme.CustomImages; if (theme?.CustomImages) CustomImages = theme.CustomImages;
if (theme?.forceDark) { if (theme?.forceDark != undefined) {
settingsState.originalDarkMode = settingsState.DarkMode if (!reEnable) settingsState.originalDarkMode = settingsState.DarkMode
settingsState.DarkMode = theme.forceDark settingsState.DarkMode = theme.forceDark
} }
+1 -1
View File
@@ -8,7 +8,7 @@ export const enableCurrentTheme = async () => {
if (settingsState.selectedTheme) { if (settingsState.selectedTheme) {
const theme = await localforage.getItem(settingsState.selectedTheme) as CustomTheme; const theme = await localforage.getItem(settingsState.selectedTheme) as CustomTheme;
if (theme) { if (theme) {
await applyTheme(theme); await applyTheme(theme, true);
} }
} }
}; };