Skip to content

Commit bce8253

Browse files
committed
Use dark mode if user has set it as preferred
1 parent 7b21290 commit bce8253

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

src/App.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
22
import { SnackbarProvider } from "notistack";
3-
import { Box } from "@mui/material";
3+
import { Box, useMediaQuery } from "@mui/material";
44
import {
55
ThemeProvider,
66
StyledEngineProvider,
@@ -18,15 +18,20 @@ import {
1818
} from "./contexts";
1919
import Router from "./Router";
2020

21-
// https://mui.com/material-ui/customization/color/#2014-material-design-color-palettes
22-
const theme = createTheme({
23-
palette: {
24-
primary: indigo,
25-
secondary: purple,
26-
},
27-
});
28-
2921
function App() {
22+
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
23+
24+
// Update the theme only if the mode changes
25+
// https://mui.com/material-ui/customization/color/#2014-material-design-color-palettes
26+
const theme = React.useMemo(() => createTheme({
27+
palette: {
28+
primary: indigo,
29+
secondary: purple,
30+
mode: prefersDarkMode ? 'dark' : 'light',
31+
},
32+
}
33+
), [prefersDarkMode]);
34+
3035
return (
3136
<StyledEngineProvider injectFirst>
3237
<ThemeProvider theme={theme}>

0 commit comments

Comments
 (0)