@@ -5,43 +5,63 @@ import { StoreProvider } from '@stores';
5
5
import '@lib/i18n' ;
6
6
import 'antd/dist/antd.css' ;
7
7
import { CurrencyStoreProvider } from '@providers/currency' ;
8
- import { DatabaseProvider , AppSettingsProvider , AnalyticsProvider } from '@providers' ;
8
+ import { DatabaseProvider , AppSettingsProvider , AnalyticsProvider , ExternalLinkOpenerProvider } from '@providers' ;
9
9
import { HashRouter } from 'react-router-dom' ;
10
10
import { ThemeProvider } from '@providers/ThemeProvider' ;
11
11
import { UIThemeProvider } from '@providers/UIThemeProvider' ;
12
12
import { BackgroundServiceAPIProvider } from '@providers/BackgroundServiceAPI' ;
13
- import { APP_MODE_POPUP } from './utils/constants' ;
13
+ import { APP_MODE_POPUP , POPUP_WINDOW_NAMI_TITLE } from './utils/constants' ;
14
14
import { PostHogClientProvider } from '@providers/PostHogClientProvider' ;
15
15
import { ExperimentsProvider } from '@providers/ExperimentsProvider/context' ;
16
16
import { AddressesDiscoveryOverlay } from 'components/AddressesDiscoveryOverlay' ;
17
+ import { useEffect , useState } from 'react' ;
18
+ import { getBackgroundStorage } from '@lib/scripts/background/storage' ;
19
+ import { NamiDappConnector } from './views/nami-mode/indexInternal' ;
17
20
18
- const App = ( ) : React . ReactElement => (
19
- < BackgroundServiceAPIProvider >
20
- < AppSettingsProvider >
21
- < DatabaseProvider >
22
- < StoreProvider appMode = { APP_MODE_POPUP } >
23
- < CurrencyStoreProvider >
24
- < HashRouter >
25
- < PostHogClientProvider >
26
- < ExperimentsProvider >
27
- < AnalyticsProvider >
28
- < ThemeProvider >
29
- < AddressesDiscoveryOverlay >
30
- < UIThemeProvider >
31
- < DappConnectorView />
32
- </ UIThemeProvider >
33
- </ AddressesDiscoveryOverlay >
34
- </ ThemeProvider >
35
- </ AnalyticsProvider >
36
- </ ExperimentsProvider >
37
- </ PostHogClientProvider >
38
- </ HashRouter >
39
- </ CurrencyStoreProvider >
40
- </ StoreProvider >
41
- </ DatabaseProvider >
42
- </ AppSettingsProvider >
43
- </ BackgroundServiceAPIProvider >
44
- ) ;
21
+ const App = ( ) : React . ReactElement => {
22
+ const [ mode , setMode ] = useState < 'lace' | 'nami' > ( ) ;
23
+ useEffect ( ( ) => {
24
+ const getWalletMode = async ( ) => {
25
+ const { namiMigration } = await getBackgroundStorage ( ) ;
26
+ if ( namiMigration ?. mode === 'nami' ) {
27
+ document . title = POPUP_WINDOW_NAMI_TITLE ;
28
+ }
29
+ setMode ( namiMigration ?. mode || 'lace' ) ;
30
+ } ;
31
+
32
+ getWalletMode ( ) ;
33
+ } , [ ] ) ;
34
+
35
+ return (
36
+ < BackgroundServiceAPIProvider >
37
+ < AppSettingsProvider >
38
+ < DatabaseProvider >
39
+ < StoreProvider appMode = { APP_MODE_POPUP } >
40
+ < CurrencyStoreProvider >
41
+ < HashRouter >
42
+ < PostHogClientProvider >
43
+ < ExperimentsProvider >
44
+ < AnalyticsProvider >
45
+ < ThemeProvider >
46
+ < ExternalLinkOpenerProvider >
47
+ < AddressesDiscoveryOverlay >
48
+ < UIThemeProvider >
49
+ { mode === 'nami' ? < NamiDappConnector /> : < DappConnectorView /> }
50
+ </ UIThemeProvider >
51
+ </ AddressesDiscoveryOverlay >
52
+ </ ExternalLinkOpenerProvider >
53
+ </ ThemeProvider >
54
+ </ AnalyticsProvider >
55
+ </ ExperimentsProvider >
56
+ </ PostHogClientProvider >
57
+ </ HashRouter >
58
+ </ CurrencyStoreProvider >
59
+ </ StoreProvider >
60
+ </ DatabaseProvider >
61
+ </ AppSettingsProvider >
62
+ </ BackgroundServiceAPIProvider >
63
+ ) ;
64
+ } ;
45
65
46
66
const mountNode = document . querySelector ( '#lace-popup' ) ;
47
67
render ( < App /> , mountNode ) ;
0 commit comments