From 5e978e2cfc6eb686068a6a7f6f1ed170af7f5792 Mon Sep 17 00:00:00 2001 From: boojack Date: Sun, 11 Dec 2022 23:18:25 +0800 Subject: [PATCH] chore: update color scheme listener (#735) --- web/src/App.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 9fe3877d..7c89376a 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -22,12 +22,23 @@ function App() { }, []); useEffect(() => { - window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", (e) => { + const darkMediaQuery = window.matchMedia("(prefers-color-scheme: dark)"); + const handleColorSchemeChange = (e: MediaQueryListEvent) => { if (globalService.getState().appearance === "system") { const mode = e.matches ? "dark" : "light"; setMode(mode); } - }); + }; + + try { + if (darkMediaQuery.addEventListener) { + darkMediaQuery.addEventListener("change", handleColorSchemeChange); + } else { + darkMediaQuery.addListener(handleColorSchemeChange); + } + } catch (error) { + console.error("failed to initial color scheme listener", error); + } }, []); // Inject additional style and script codes.