@@ -2,84 +2,38 @@ import * as React from 'react';
2
2
import { Provider } from 'react-redux' ;
3
3
import ScopedCssBaseline from '@mui/material/ScopedCssBaseline' ;
4
4
import { ThemeProvider , createTheme } from '@mui/material/styles' ;
5
- // import Box from '@mui/material/Box';
6
- import { PaletteMode } from '@mui/material' ;
7
- // import IconButton from '@mui/material/IconButton';
8
- // import Brightness4Icon from '@mui/icons-material/Brightness4';
9
- // import Brightness7Icon from '@mui/icons-material/Brightness7';
10
5
import './App.css' ;
11
6
import { store } from './store' ;
12
7
import AppRouter from './AppRouter' ;
13
- import { getDesignTokens } from './theme' ;
14
- import { THEME_MODE } from './config' ;
8
+ import { getDesignTokens , dark } from './theme' ;
15
9
import BackgroundImage from './components/Background/BackgroundImage' ;
16
10
import ErrorBoundary from './components/ErrorBoundary' ;
11
+ import { WormholeConnectConfig } from './config/types' ;
17
12
18
- const ColorModeContext = React . createContext ( {
19
- toggleColorMode : ( ) => {
20
- /* noop TODO ??? what is this for */
21
- } ,
22
- } ) ;
23
-
24
- function App ( ) {
25
- const [ mode , setMode ] = React . useState < PaletteMode > ( THEME_MODE ) ;
26
- const colorMode = React . useMemo (
27
- ( ) => ( {
28
- // The dark mode switch would invoke this method
29
- toggleColorMode : ( ) => {
30
- setMode ( ( prevMode : PaletteMode ) =>
31
- prevMode === 'light' ? 'dark' : 'light' ,
32
- ) ;
33
- } ,
34
- } ) ,
35
- [ ] ,
36
- ) ;
37
- // Update the theme only if the mode changes
38
- const theme = React . useMemo ( ( ) => createTheme ( getDesignTokens ( mode ) ) , [ mode ] ) ;
39
-
40
- return (
41
- < Provider store = { store } >
42
- < ColorModeContext . Provider value = { colorMode } >
43
- < ThemeProvider theme = { theme } >
44
- < ScopedCssBaseline enableColorScheme >
45
- < ErrorBoundary >
46
- < BackgroundImage >
47
- < AppRouter />
48
- </ BackgroundImage >
49
- </ ErrorBoundary >
50
- </ ScopedCssBaseline >
51
- </ ThemeProvider >
52
- </ ColorModeContext . Provider >
53
- </ Provider >
54
- ) ;
13
+ export interface WormholeConnectProps {
14
+ config : WormholeConnectConfig ;
55
15
}
56
16
57
- export default function ToggleColorMode ( ) {
58
- const [ mode , setMode ] = React . useState < 'light' | 'dark' > ( 'light' ) ;
59
- const colorMode = React . useMemo (
60
- ( ) => ( {
61
- toggleColorMode : ( ) => {
62
- setMode ( ( prevMode ) => ( prevMode === 'light' ? 'dark' : 'light' ) ) ;
63
- } ,
64
- } ) ,
65
- [ ] ,
66
- ) ;
67
-
68
- const theme = React . useMemo (
17
+ export default function WormholeConnect ( { config } : WormholeConnectProps ) {
18
+ const muiTheme = React . useMemo (
69
19
( ) =>
70
- createTheme ( {
71
- palette : {
72
- mode,
73
- } ,
74
- } ) ,
75
- [ mode ] ,
20
+ createTheme (
21
+ getDesignTokens ( config . mode ?? 'dark' , config . customTheme ?? dark ) ,
22
+ ) ,
23
+ [ config ] ,
76
24
) ;
77
25
78
26
return (
79
- < ColorModeContext . Provider value = { colorMode } >
80
- < ThemeProvider theme = { theme } >
81
- < App />
27
+ < Provider store = { store } >
28
+ < ThemeProvider theme = { muiTheme } >
29
+ < ScopedCssBaseline enableColorScheme >
30
+ < ErrorBoundary >
31
+ < BackgroundImage >
32
+ < AppRouter />
33
+ </ BackgroundImage >
34
+ </ ErrorBoundary >
35
+ </ ScopedCssBaseline >
82
36
</ ThemeProvider >
83
- </ ColorModeContext . Provider >
37
+ </ Provider >
84
38
) ;
85
39
}
0 commit comments