| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import React, { useState } from "react";
- import { createTheme } from "@material-ui/core/styles";
- import { ThemeProvider } from "@material-ui/styles";
- import { CssBaseline } from "@material-ui/core";
- import blue from "@material-ui/core/colors/blue";
- import green from "@material-ui/core/colors/green";
- const theme = createTheme({
- palette: {
- type: "light",
- primary: blue,
- secondary: green,
- },
- });
- const themeDark = createTheme({
- palette: {
- type: "dark",
- primary: green,
- secondary: blue,
- },
- });
- const Theme = (props) => {
- const { children, darkMode } = props;
- const defaultTheme = darkMode ? themeDark : theme;
- return (
- <ThemeProvider theme={defaultTheme}>
- <CssBaseline />
- {children}
- </ThemeProvider>
- );
- };
- export const withTheme = (Component) => {
- return (props) => {
- const [darkMode, setDarkMode] = useState(false);
- return (
- <Theme darkMode={darkMode}>
- <Component {...props} darkMode={darkMode} setDarkMode={setDarkMode} />
- </Theme>
- );
- };
- };
|