1
- import React from "react" ;
1
+ import React , { useEffect } from "react" ;
2
2
import { Link , useLocation } from "react-router-dom" ;
3
3
import styled from "@emotion/styled" ;
4
4
import { observer } from "mobx-react" ;
@@ -9,9 +9,11 @@ import Tab from "@components/Tab";
9
9
import { TEXT_TYPES } from "@components/Text" ;
10
10
import { ReactComponent as Logo } from "@src/assets/icons/logo.svg" ;
11
11
import { ReactComponent as Menu } from "@src/assets/icons/menu.svg" ;
12
+ import { FuelNetwork } from "@src/blockchain" ;
12
13
import { MENU_ITEMS } from "@src/constants" ;
13
14
import useFlag from "@src/hooks/useFlag" ;
14
15
import { useMedia } from "@src/hooks/useMedia" ;
16
+ import { useWallet } from "@src/hooks/useWallet" ;
15
17
import ConnectWalletDialog from "@src/screens/ConnectWallet" ;
16
18
import { MODAL_TYPE } from "@src/stores/ModalStore" ;
17
19
import { media } from "@src/themes/breakpoints" ;
@@ -26,14 +28,23 @@ import DepositWithdrawModal from "./DepositWithdrawModal";
26
28
import MobileMenu from "./MobileMenu" ;
27
29
28
30
const Header : React . FC = observer ( ( ) => {
29
- const { tradeStore, accountStore, modalStore } = useStores ( ) ;
31
+ const { tradeStore, modalStore, accountStore } = useStores ( ) ;
32
+ const { address, wallet } = useWallet ( ) ;
30
33
const location = useLocation ( ) ;
31
34
const media = useMedia ( ) ;
32
35
33
36
const [ isMobileMenuOpen , openMobileMenu , closeMobileMenu ] = useFlag ( ) ;
34
37
const [ isConnectDialogVisible , openConnectDialog , closeConnectDialog ] = useFlag ( ) ;
35
38
const [ isAccountInfoSheetOpen , openAccountInfo , closeAccountInfo ] = useFlag ( ) ;
36
39
40
+ useEffect ( ( ) => {
41
+ accountStore . setAddress ( address ) ;
42
+ if ( address && wallet ) {
43
+ const bcNetwork = FuelNetwork . getInstance ( ) ;
44
+ bcNetwork . setWallet ( address , wallet ) ;
45
+ }
46
+ } , [ address , wallet ?. address ] ) ;
47
+
37
48
const toggleMenu = ( ) => {
38
49
window . scrollTo ( { top : 0 , behavior : "smooth" } ) ;
39
50
@@ -45,7 +56,7 @@ const Header: React.FC = observer(() => {
45
56
} ;
46
57
47
58
const renderWallet = ( ) => {
48
- if ( ! accountStore . address ) {
59
+ if ( ! address ) {
49
60
return (
50
61
< WalletContainer >
51
62
< Button fitContent green onClick = { openConnectDialog } >
@@ -157,7 +168,9 @@ const Header: React.FC = observer(() => {
157
168
onDepositWithdrawClick = { ( ) => modalStore . open ( MODAL_TYPE . DEPOSIT_WITHDRAW_MODAL ) }
158
169
onWalletConnect = { openConnectDialog }
159
170
/>
160
- < ConnectWalletDialog visible = { isConnectDialogVisible } onClose = { closeConnectDialog } />
171
+ { isConnectDialogVisible ? (
172
+ < ConnectWalletDialog visible = { isConnectDialogVisible } onClose = { closeConnectDialog } />
173
+ ) : null }
161
174
< AccountInfoSheet isOpen = { isAccountInfoSheetOpen } onClose = { closeAccountInfo } />
162
175
< DepositWithdrawModal visible = { modalStore . isOpen ( MODAL_TYPE . DEPOSIT_WITHDRAW_MODAL ) } onClose = { modalStore . close } />
163
176
</ Root >
0 commit comments