fix: theme

This commit is contained in:
Myzel394 2023-02-20 20:20:36 +01:00
parent c9b06e78f8
commit f5fe9ea2e2
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
3 changed files with 15 additions and 5 deletions

View File

@ -51,11 +51,11 @@
"sort-array": "^4.1.5", "sort-array": "^4.1.5",
"ua-parser-js": "^1.0.33", "ua-parser-js": "^1.0.33",
"use-system-theme": "^0.1.1", "use-system-theme": "^0.1.1",
"vite-plugin-svgr": "^2.4.0",
"yup": "^0.32.11", "yup": "^0.32.11",
"yup-locales": "^1.2.10" "yup-locales": "^1.2.10"
}, },
"devDependencies": { "devDependencies": {
"vite-plugin-svgr": "^2.4.0",
"@peculiar/webcrypto": "^1.4.1", "@peculiar/webcrypto": "^1.4.1",
"@types/crypto-js": "^4.1.1", "@types/crypto-js": "^4.1.1",
"@types/date-fns": "^2.6.0", "@types/date-fns": "^2.6.0",

View File

@ -3,11 +3,11 @@ import {SnackbarProvider} from "notistack"
import React, {ReactElement} from "react" import React, {ReactElement} from "react"
import {QueryClientProvider} from "@tanstack/react-query" import {QueryClientProvider} from "@tanstack/react-query"
import {CssBaseline, ThemeProvider} from "@mui/material" import {CssBaseline, Theme, ThemeProvider} from "@mui/material"
import {queryClient} from "~/constants/react-query" import {queryClient} from "~/constants/react-query"
import {getServerSettings} from "~/apis" import {getServerSettings} from "~/apis"
import {lightTheme} from "~/constants/themes" import {darkTheme, lightTheme} from "~/constants/themes"
import AdminRoute from "~/routes/AdminRoute" import AdminRoute from "~/routes/AdminRoute"
import AliasDetailRoute from "~/routes/AliasDetailRoute" import AliasDetailRoute from "~/routes/AliasDetailRoute"
import AliasesRoute from "~/routes/AliasesRoute" import AliasesRoute from "~/routes/AliasesRoute"
@ -30,6 +30,7 @@ import RootRoute from "~/routes/Root"
import SettingsRoute from "~/routes/SettingsRoute" import SettingsRoute from "~/routes/SettingsRoute"
import SignupRoute from "~/routes/SignupRoute" import SignupRoute from "~/routes/SignupRoute"
import VerifyEmailRoute from "~/routes/VerifyEmailRoute" import VerifyEmailRoute from "~/routes/VerifyEmailRoute"
import useSystemTheme, {SystemTheme} from "use-system-theme"
import "./init-i18n" import "./init-i18n"
const router = createBrowserRouter([ const router = createBrowserRouter([
@ -134,11 +135,18 @@ const router = createBrowserRouter([
}, },
]) ])
const THEME_THEME_MAP: Record<SystemTheme, Theme> = {
light: lightTheme,
dark: darkTheme,
}
export default function App(): ReactElement { export default function App(): ReactElement {
const theme = useSystemTheme()
return ( return (
<React.StrictMode> <React.StrictMode>
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<ThemeProvider theme={lightTheme}> <ThemeProvider theme={THEME_THEME_MAP[theme]}>
<SnackbarProvider> <SnackbarProvider>
<CssBaseline /> <CssBaseline />
<RouterProvider router={router} /> <RouterProvider router={router} />

View File

@ -1,6 +1,8 @@
import {createTheme} from "@mui/material" import {createTheme} from "@mui/material"
export const lightTheme = createTheme({ export const lightTheme = createTheme()
export const darkTheme = createTheme({
palette: { palette: {
mode: "dark", mode: "dark",
secondary: { secondary: {