1- import React , { useMemo , useRef } from 'react' ;
21import cx from 'classnames' ;
3- import { Link , useLocation } from 'react-router-dom ' ;
2+ import React , { useMemo , useRef } from 'react' ;
43import { usePopperTooltip } from 'react-popper-tooltip' ;
4+ import { Link , useLocation } from 'react-router-dom' ;
55import { Transition } from 'react-transition-group' ;
66
7+ import usePassportByAddress from 'src/features/passport/hooks/usePassportByAddress' ;
78import useOnClickOutside from 'src/hooks/useOnClickOutside' ;
89import { routes } from 'src/routes' ;
9- import usePassportByAddress from 'src/features/passport/hooks/usePassportByAddress' ;
1010
11- import { useAppSelector } from 'src/redux/hooks' ;
1211import Pill from 'src/components/Pill/Pill' ;
12+ import { useBackend } from 'src/contexts/backend/backend' ;
1313import { useSigningClient } from 'src/contexts/signerClient' ;
14+ import useIsOnline from 'src/hooks/useIsOnline' ;
15+ import { useAppSelector } from 'src/redux/hooks' ;
1416import BroadcastChannelSender from 'src/services/backend/channels/BroadcastChannelSender' ;
15- import { useBackend } from 'src/contexts/backend/backend' ;
16- import { AvataImgIpfs } from '../../../portal/components/avataIpfs' ;
17- import styles from './SwitchAccount.module.scss' ;
18- import networkStyles from '../SwitchNetwork/SwitchNetwork.module.scss' ;
1917import useMediaQuery from '../../../../hooks/useMediaQuery' ;
2018import robot from '../../../../image/temple/robot.png' ;
19+ import { AvataImgIpfs } from '../../../portal/components/avataIpfs' ;
2120import Karma from '../../Karma/Karma' ;
21+ import networkStyles from '../SwitchNetwork/SwitchNetwork.module.scss' ;
22+ import styles from './SwitchAccount.module.scss' ;
2223
2324// should be refactored
2425function AccountItem ( {
@@ -91,6 +92,7 @@ function AccountItem({
9192function SwitchAccount ( ) {
9293 const { signerReady } = useSigningClient ( ) ;
9394 const { isIpfsInitialized } = useBackend ( ) ;
95+ const isOnline = useIsOnline ( ) ;
9496 const mediaQuery = useMediaQuery ( '(min-width: 768px)' ) ;
9597
9698 const [ controlledVisible , setControlledVisible ] = React . useState ( false ) ;
@@ -179,9 +181,10 @@ function SwitchAccount() {
179181 </ button >
180182 ) }
181183 { isReadOnly && < Pill color = "yellow" text = "read only" /> }
182- { ! isReadOnly && ! signerReady && (
184+ { ! isReadOnly && ! signerReady && isOnline && (
183185 < Pill color = "red" text = "switch keplr" />
184186 ) }
187+ { ! isOnline && < Pill color = "red" text = "offline" /> }
185188 < Karma address = { useGetAddress } />
186189 </ div >
187190 ) }
@@ -195,8 +198,10 @@ function SwitchAccount() {
195198 >
196199 < div
197200 className = { cx ( styles . containerAvatarConnect , {
198- [ styles . containerAvatarConnectFalse ] : ! isIpfsInitialized ,
199- [ styles . containerAvatarConnectTrueGreen ] : isIpfsInitialized ,
201+ [ styles . containerAvatarConnectFalse ] :
202+ ! isIpfsInitialized || ! isOnline ,
203+ [ styles . containerAvatarConnectTrueGreen ] :
204+ isIpfsInitialized && isOnline ,
200205 } ) }
201206 >
202207 < AvataImgIpfs
0 commit comments