@@ -9,13 +9,13 @@ import MiningStatus from '../../components/MiningStatus';
99import BlobWrapper from '../../components/BlobWrapper' ;
1010import Menu from '../../components/Menu' ;
1111import Skeleton from '../../components/Skeleton' ;
12- import { allNodes , closestNodes , maxNodes , currentScanNodeNumber } from '../../services/mining' ;
12+ import { maxNodes , currentScanNodeNumber } from '../../services/mining' ;
1313import { CoNET_Data } from '../../utils/globals' ;
1414
1515
1616
1717const Home = ( ) => {
18- const { profile, sRegion, setSRegion, setAllRegions, allRegions, isRandom, setIsRandom} = useDaemonContext ( ) ;
18+ const { profile, sRegion, setSRegion, setAllRegions, allRegions, isRandom, setIsRandom, getAllNodes , closestRegion } = useDaemonContext ( ) ;
1919 const [ power , setPower ] = useState < boolean > ( false ) ;
2020 const [ isInitialLoading , setIsInitialLoading ] = useState < boolean > ( true ) ;
2121 const [ isConnectionLoading , setIsConnectionLoading ] = useState < boolean > ( false )
@@ -64,8 +64,11 @@ const Home = () => {
6464 } ) ) ) . map ( ( regionStr : any ) => JSON . parse ( regionStr ) ) ; // Convert the string back to an object
6565
6666 const unitedStatesIndex = treatedRegions . findIndex ( ( region : any ) => region . code === 'US' )
67- setSRegion ( unitedStatesIndex )
68- setIsRandom ( false ) ;
67+ if ( sRegion < 0 ) {
68+ setSRegion ( unitedStatesIndex )
69+ setIsRandom ( false ) ;
70+ }
71+
6972
7073 setAllRegions ( treatedRegions ) ;
7174 } ;
@@ -75,7 +78,13 @@ const Home = () => {
7578 _getAllRegions ( )
7679
7780 // setTimeout(() => setIsInitialLoading(false), 3000);
78- } , [ allRegions ] ) ;
81+ } , [ ] ) ;
82+
83+ // useEffect(() => {
84+ // if (sRegion > -1) {
85+ // console.log(`sRegion = ${sRegion}`)
86+ // }
87+ // },[sRegion])
7988
8089 const toggleMenu = ( ) => {
8190 setIsMenuVisible ( prevState => ! prevState ) ;
@@ -109,7 +118,7 @@ type Native_StartVPNObj = {
109118 return
110119 }
111120
112- try {
121+
113122 setIsConnectionLoading ( true )
114123 if ( sRegion === - 1 ) {
115124 selectedCountryIndex = Math . floor ( Math . random ( ) * allRegions . length )
@@ -118,24 +127,28 @@ type Native_StartVPNObj = {
118127 selectedCountryIndex = sRegion
119128 }
120129
121- const selectedCountryCode = allRegions [ selectedCountryIndex ] . code
130+ const allNodes = getAllNodes
131+ const exitRegion = allRegions [ selectedCountryIndex ] . code
132+ const exitNodes = allNodes . filter ( ( n : any ) => n . country === exitRegion )
133+
134+ // const selectedCountryCode = allRegions[selectedCountryIndex].code
122135
123- const nodeListFilteredByClosestRegion = closestNodes
124- const nodeListFilteredBySelectedRegion = allNodes ! . filter ( ( n : any ) => n . region . endsWith ( selectedCountryCode ) ) ;
136+ const entryNodeRegion = closestRegion . node . country
137+ const __entryNodes = allNodes . filter ( ( n : any ) => n . country === entryNodeRegion ) ;
125138
126- const randomNodeIndex = Math . floor ( Math . random ( ) * nodeListFilteredBySelectedRegion ! . length ) ;
139+ const randomExitIndex = Math . floor ( Math . random ( ) * ( exitNodes . length - 1 ) ) ;
127140
128- const _exitNode = [ nodeListFilteredBySelectedRegion ?. [ randomNodeIndex ] ] ;
141+ const _exitNode = [ exitNodes [ randomExitIndex ] ]
129142
130- let _entryNodes : nodes_info [ ] = nodeListFilteredByClosestRegion
143+ let _entryNodes = __entryNodes
131144
132- if ( nodeListFilteredByClosestRegion . length > 5 ) {
145+ if ( _entryNodes . length > 5 ) {
133146 _entryNodes = [ ]
134147 do {
135- const randomNodeIndex = Math . floor ( Math . random ( ) * nodeListFilteredByClosestRegion ! . length )
136- const choosenNode = nodeListFilteredByClosestRegion [ randomNodeIndex ]
148+ const randomNodeIndex = Math . floor ( Math . random ( ) * ( __entryNodes . length - 1 ) )
149+ const choosenNode = __entryNodes [ randomNodeIndex ]
137150 _entryNodes . push ( choosenNode )
138- nodeListFilteredByClosestRegion . splice ( randomNodeIndex , 1 )
151+ __entryNodes . splice ( randomNodeIndex , 1 )
139152 } while ( _entryNodes . length < 5 ) ;
140153 }
141154
@@ -175,9 +188,7 @@ type Native_StartVPNObj = {
175188 } , 1000 )
176189
177190 return
178- } catch ( error ) {
179- setPower ( false ) ;
180- }
191+
181192 } ;
182193
183194 const renderButton = ( ) => {
0 commit comments