From 31da7e8ded76d16bb7d71799d2632feb443d28ea Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Wed, 27 Mar 2024 23:54:53 +1100 Subject: [PATCH] improve loading performance of settings UI --- package.json | 2 +- src/interface/dark.ts | 10 ++++++++++ src/interface/hooks/settingsState.ts | 5 ----- src/interface/index.html | 14 +++++++++++++- src/interface/main.tsx | 6 ++++-- 5 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 src/interface/dark.ts diff --git a/package.json b/package.json index 7e9c1f93..49bc4c48 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "npm-run-all": "^4.1.5", "preact": "^10.20.0", "react": "^18.2.0", - "react-best-gradient-color-picker": "^3.0.5", + "react-best-gradient-color-picker": "3.0.5", "react-dom": "^18.2.0", "react-router-dom": "^6.22.0", "rimraf": "^5.0.5", diff --git a/src/interface/dark.ts b/src/interface/dark.ts new file mode 100644 index 00000000..f0389196 --- /dev/null +++ b/src/interface/dark.ts @@ -0,0 +1,10 @@ +import Browser from "webextension-polyfill"; + +console.log('hi'); + +(async () => { + const result = await Browser.storage.local.get(); + if (result.DarkMode) { + document.body.classList.add('dark'); + } +})(); \ No newline at end of file diff --git a/src/interface/hooks/settingsState.ts b/src/interface/hooks/settingsState.ts index 0e23fc5c..b214d129 100644 --- a/src/interface/hooks/settingsState.ts +++ b/src/interface/hooks/settingsState.ts @@ -11,7 +11,6 @@ const useSettingsState = ({ settingsState, setSettingsState }: SettingsProps) => if (RanOnce) return; RanOnce = true; - // get the current settings state // @ts-expect-error - TODO: Fix this browser.storage.local.get().then((result: MainConfig) => { setSettingsState({ @@ -27,10 +26,6 @@ const useSettingsState = ({ settingsState, setSettingsState }: SettingsProps) => transparencyEffects: result.transparencyEffects, theme: result.theme }); - - if (result.DarkMode) { - document.body.classList.add('dark'); - } }); }); diff --git a/src/interface/index.html b/src/interface/index.html index 97fa7d9f..9da108fc 100644 --- a/src/interface/index.html +++ b/src/interface/index.html @@ -4,11 +4,23 @@ BetterSEQTA+ Settings + - +
+ diff --git a/src/interface/main.tsx b/src/interface/main.tsx index 450237c9..1ea8973f 100644 --- a/src/interface/main.tsx +++ b/src/interface/main.tsx @@ -8,8 +8,10 @@ import font from '../resources/fonts/IconFamily.woff' import * as Sentry from "@sentry/react"; -browser.storage.local.get([ "telemetry" ]).then((telemetry) => { - if (telemetry.telemetry === true) +browser.storage.local.get().then(({ telemetry, DarkMode }) => { + if (DarkMode) document.body.classList.add('dark'); + + if (telemetry === true) Sentry.init({ dsn: "https://4bc7197431b170218e15daba4095d08b@o4506347383291904.ingest.sentry.io/4506347394105344", integrations: [