-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.tsx
44 lines (41 loc) · 1003 Bytes
/
App.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { useEffect, useMemo } from "react"
import { createTheme, ThemeProvider } from "@mui/material/styles"
import CssBaseline from "@mui/material/CssBaseline"
import { useTimerContext } from "./Hooks/Context"
import useMediaQuery from "@mui/material/useMediaQuery"
import Home from "./Router/Home"
function App() {
const { dark, setDark } = useTimerContext()
const media = useMediaQuery("(prefers-color-scheme: dark)")
useEffect(() => {
if (localStorage.getItem("dark") === null) {
setDark(media ? 1 : 0)
}
}, [media])
const theme = useMemo(
() =>
createTheme({
palette: {
primary: {
main: "#ff6347",
},
mode: dark ? "dark" : "light",
background: {
default: dark ? "#222" : "#fafafa",
paper: dark ? "#222" : "#fafafa",
},
},
typography: {
fontFamily: "'Montserrat', sans-serif",
},
}),
[dark]
)
return (
<ThemeProvider theme={theme}>
<CssBaseline />
<Home />
</ThemeProvider>
)
}
export default App