aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer/src/components/ThemeProvider.tsx
blob: 8be4f6a2e735b6007b8a7c4db458024852bf4b0c (plain) (blame)
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
import { observer } from 'mobx-react-lite';
import {
  unstable_createMuiStrictModeTheme as createTheme,
  ThemeProvider as MuiThemeProvider,
} from '@mui/material/styles';
import React from 'react';

import { useStore } from './StoreProvider';

export const ThemeProvider = observer(({ children }: {
  children: JSX.Element | JSX.Element[],
}): JSX.Element => {
  const { shared: { shouldUseDarkColors } } = useStore();

  const theme = createTheme({
    palette: {
      mode: shouldUseDarkColors ? 'dark' : 'light',
    },
  });

  return (
    <MuiThemeProvider theme={theme}>
      {children}
    </MuiThemeProvider>
  );
});