feat: add electron flag to body class in electron context

This commit is contained in:
Tristan Yang
2023-06-27 23:00:55 +08:00
parent cf7c0ee327
commit 94e4f7c1e9
2 changed files with 10 additions and 1 deletions
+7 -1
View File
@@ -9,6 +9,7 @@ import toast, { Toaster } from "react-hot-toast";
import "./assets/index.css"; import "./assets/index.css";
import "./libs/DayjsSetting"; import "./libs/DayjsSetting";
import "./libs/TippySetting"; import "./libs/TippySetting";
import MobileAppTip from "./components/MobileAppTip"; import MobileAppTip from "./components/MobileAppTip";
import NewVersion from "./components/NewVersion"; import NewVersion from "./components/NewVersion";
import ReduxRoutes from "./routes"; import ReduxRoutes from "./routes";
@@ -16,9 +17,14 @@ import { register } from "./serviceWorkerRegistration";
// import i18n (needs to be bundled ;)) // import i18n (needs to be bundled ;))
import "./i18n"; import "./i18n";
import "./libs/polyfills"; import "./libs/polyfills";
import { isDarkMode } from "./utils";
import { isDarkMode, isElectronContext } from "./utils";
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement); const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
// electron context
if (isElectronContext()) {
document.body.classList.add("electron");
}
// dark mode // dark mode
if (isDarkMode()) { if (isDarkMode()) {
document.documentElement.classList.add("dark"); document.documentElement.classList.add("dark");
+3
View File
@@ -376,6 +376,9 @@ export const getContrastColor = (hexcolor: string) => {
// Check contrast // Check contrast
return yiq >= 128 ? "black" : "white"; return yiq >= 128 ? "black" : "white";
}; };
export const isElectronContext = () => {
return navigator.userAgent.toLowerCase().indexOf("electron/") > -1;
};
export const isDarkMode = () => { export const isDarkMode = () => {
const isDarkMode = localStorage.theme === "dark"; const isDarkMode = localStorage.theme === "dark";
const isLightMode = localStorage.theme === "light"; const isLightMode = localStorage.theme === "light";