From 6f7355e689124cfd63dc2ab664b301f426235965 Mon Sep 17 00:00:00 2001 From: Stringadmin Date: Fri, 5 Jun 2026 20:28:47 +0800 Subject: [PATCH] perf: defer dark green theme styles --- src/components/AppShell.tsx | 2 ++ src/styles/index.css | 1 - src/styles/loadDarkGreenTheme.ts | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/styles/loadDarkGreenTheme.ts diff --git a/src/components/AppShell.tsx b/src/components/AppShell.tsx index 2207708..542bfff 100644 --- a/src/components/AppShell.tsx +++ b/src/components/AppShell.tsx @@ -23,6 +23,7 @@ import { AnimatedPanel } from "./AnimatedPanel"; import AdminMonitor from "./AdminMonitor"; import CookieConsentBanner from "./CookieConsentBanner"; import { loadRechargeModal, type RechargeModalComponent } from "./RechargeModal/loadRechargeModal"; +import { loadDarkGreenTheme } from "../styles/loadDarkGreenTheme"; interface AppShellProps { activeView: WebViewKey; @@ -129,6 +130,7 @@ function AppShell({ return; } + void loadDarkGreenTheme(); document.documentElement.dataset.theme = "dark"; document.documentElement.dataset.uiTheme = "dark-green"; document.documentElement.style.colorScheme = "dark"; diff --git a/src/styles/index.css b/src/styles/index.css index efc0b14..48360bf 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -6,4 +6,3 @@ @import "./components/toast.css"; @import "./components/page-transition.css"; @import "./components/motion.css"; -@import "./themes/dark-green.css"; diff --git a/src/styles/loadDarkGreenTheme.ts b/src/styles/loadDarkGreenTheme.ts new file mode 100644 index 0000000..a8cdf45 --- /dev/null +++ b/src/styles/loadDarkGreenTheme.ts @@ -0,0 +1,6 @@ +let darkGreenThemePromise: Promise | null = null; + +export function loadDarkGreenTheme(): Promise { + darkGreenThemePromise ??= import("./themes/dark-green.css"); + return darkGreenThemePromise; +}