@@ -4,10 +4,12 @@ import { err, ok, Result } from '@synonymdev/result';
44import Url from 'url-parse' ;
55import { useTranslation } from 'react-i18next' ;
66import isEqual from 'lodash/isEqual' ;
7+ import { EProtocol } from 'beignet' ;
78
89import { View , TextInput , ScrollView } from '../../../styles/components' ;
910import { BodyM , Caption13Up } from '../../../styles/text' ;
1011import { ScanIcon } from '../../../styles/icons' ;
12+ import useBreakpoints from '../../../styles/breakpoints' ;
1113import { useAppDispatch , useAppSelector } from '../../../hooks/redux' ;
1214import { updateUi } from '../../../store/slices/ui' ;
1315import { addElectrumPeer } from '../../../store/slices/settings' ;
@@ -26,12 +28,11 @@ import {
2628} from '../../../utils/electrum' ;
2729import { showToast } from '../../../utils/notifications' ;
2830import { getConnectedPeer , IPeerData } from '../../../utils/wallet/electrum' ;
29- import type { SettingsScreenProps } from '../../../navigation/types' ;
30- import { EProtocol } from 'beignet' ;
3131import { refreshWallet , rescanAddresses } from '../../../utils/wallet' ;
3232import { EAvailableNetwork } from '../../../utils/networks' ;
3333import { updateActivityList } from '../../../store/utils/activity' ;
34- import useBreakpoints from '../../../styles/breakpoints' ;
34+ import { isConnectedToElectrumSelector } from '../../../store/reselect/ui' ;
35+ import type { SettingsScreenProps } from '../../../navigation/types' ;
3536
3637type RadioButtonItem = { label : string ; value : EProtocol } ;
3738
@@ -90,6 +91,7 @@ const ElectrumConfig = ({
9091 const { t } = useTranslation ( 'settings' ) ;
9192 const br = useBreakpoints ( ) ;
9293 const dispatch = useAppDispatch ( ) ;
94+ const isConnectedToElectrum = useAppSelector ( isConnectedToElectrumSelector ) ;
9395 const selectedNetwork = useAppSelector ( selectedNetworkSelector ) ;
9496 const customElectrumPeers = useAppSelector ( ( state ) => {
9597 return customElectrumPeersSelector ( state , selectedNetwork ) ;
@@ -98,27 +100,25 @@ const ElectrumConfig = ({
98100 const [ connectedPeer , setConnectedPeer ] = useState < IPeerData > ( ) ;
99101 const [ loading , setLoading ] = useState ( false ) ;
100102 const [ host , setHost ] = useState ( savedPeer . host ) ;
101- const [ protocol , setProtocol ] = useState < EProtocol > ( savedPeer . protocol ) ;
102- const [ port , setPort ] = useState < string > (
103- savedPeer [ savedPeer . protocol ] . toString ( ) ,
104- ) ;
103+ const [ port , setPort ] = useState ( savedPeer [ savedPeer . protocol ] . toString ( ) ) ;
104+ const [ protocol , setProtocol ] = useState ( savedPeer . protocol ) ;
105105
106106 useEffect ( ( ) => {
107+ const getAndUpdateConnectedPeer = async ( ) : Promise < void > => {
108+ const peerInfo = await getConnectedPeer ( ) ;
109+ if ( peerInfo . isOk ( ) ) {
110+ setConnectedPeer ( {
111+ host : peerInfo . value . host ,
112+ port : peerInfo . value . port . toString ( ) ,
113+ protocol : peerInfo . value . protocol ,
114+ } ) ;
115+ } else {
116+ setConnectedPeer ( undefined ) ;
117+ }
118+ } ;
119+
107120 getAndUpdateConnectedPeer ( ) ;
108- } , [ ] ) ;
109-
110- const getAndUpdateConnectedPeer = async ( ) : Promise < void > => {
111- const peerInfo = await getConnectedPeer ( ) ;
112- if ( peerInfo . isOk ( ) ) {
113- setConnectedPeer ( {
114- host : peerInfo . value . host ,
115- port : peerInfo . value . port . toString ( ) ,
116- protocol : peerInfo . value . protocol ,
117- } ) ;
118- } else {
119- setConnectedPeer ( undefined ) ;
120- }
121- } ;
121+ } , [ isConnectedToElectrum ] ) ;
122122
123123 const connectAndAddPeer = async ( peerData : {
124124 host : string ;
@@ -169,7 +169,7 @@ const ElectrumConfig = ({
169169 shouldClearAddresses : false ,
170170 shouldClearTransactions : true ,
171171 } ) ;
172- await refreshWallet ( { } ) ;
172+ await refreshWallet ( ) ;
173173 updateActivityList ( ) ;
174174 }
175175 } else {
@@ -181,7 +181,6 @@ const ElectrumConfig = ({
181181 description : t ( 'es.server_error_description' ) ,
182182 } ) ;
183183 }
184- await getAndUpdateConnectedPeer ( ) ;
185184 } catch ( e ) {
186185 console . log ( e ) ;
187186 } finally {
0 commit comments