feat : mui & state refacto

This commit is contained in:
GuillaumeSD
2024-02-20 05:08:27 +01:00
parent 70518a8bb8
commit 4502651492
31 changed files with 1481 additions and 800 deletions

View File

@@ -0,0 +1,36 @@
import { CssBaseline, ThemeProvider, createTheme } from "@mui/material";
import { PropsWithChildren, useMemo } from "react";
import NavBar from "./NavBar";
import { red } from "@mui/material/colors";
import { useLocalStorage } from "@/hooks/useLocalStorage";
export default function Layout({ children }: PropsWithChildren) {
const [useDarkMode, setDarkMode] = useLocalStorage("useDarkMode", true);
const theme = useMemo(
() =>
createTheme({
palette: {
mode: useDarkMode ? "dark" : "light",
error: {
main: red[400],
},
secondary: {
main: useDarkMode ? "#424242" : "#90caf9",
},
},
}),
[useDarkMode]
);
return (
<ThemeProvider theme={theme}>
<CssBaseline />
<NavBar
darkMode={useDarkMode}
switchDarkMode={() => setDarkMode((val) => !val)}
/>
<main style={{ margin: "2em 2vw" }}>{children}</main>
</ThemeProvider>
);
}