Skip to content

Commit 0ff6ac8

Browse files
committed
refactor
1 parent 35d2226 commit 0ff6ac8

File tree

1 file changed

+44
-33
lines changed

1 file changed

+44
-33
lines changed

src/renderer/Presentational/NodePackageScreen/NodePackageScreen.tsx

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,11 @@ const NodePackageScreen = () => {
5252
const [sLatestBlockNumber, setLatestBlockNumber] = useState<number>(0);
5353
const [sNetworkNodePackage, setNetworkNodePackage] = useState<string>('');
5454
const sIsAvailableForPolling = useAppSelector(selectIsAvailableForPolling);
55-
const pollingInterval = sIsAvailableForPolling ? 15000 : 0;
55+
// const pollingInterval = sIsAvailableForPolling ? 15000 : 0;
56+
const pollingInterval = 15000;
5657

5758
const executionNode = selectedNodePackage?.services.find(
58-
(service) => service.serviceId === 'executionClient',
59+
(service) => service.serviceId !== 'consensusClient',
5960
);
6061
const consensusNode = selectedNodePackage?.services.find(
6162
(service) => service.serviceId === 'consensusClient',
@@ -99,6 +100,10 @@ const NodePackageScreen = () => {
99100
},
100101
{ pollingInterval },
101102
);
103+
const qConsensusPeers = useGetExecutionPeersQuery(
104+
{ rpcTranslation: consensusRpcTranslation, httpPort: consensusHttpPort },
105+
{ pollingInterval },
106+
);
102107
const qConsensusLatestBlock = useGetExecutionLatestBlockQuery(
103108
{
104109
rpcTranslation: consensusRpcTranslation,
@@ -219,30 +224,42 @@ const NodePackageScreen = () => {
219224
setAlphaModal();
220225
}, []);
221226

227+
const getSyncDataForService = useCallback(
228+
(service: any) => {
229+
const isNotConsensusClient = service.serviceId !== 'consensusClient';
230+
const syncingQuery = isNotConsensusClient
231+
? qExecutionIsSyncing
232+
: qConsensusIsSyncing;
233+
const peersQuery = isNotConsensusClient
234+
? qExecutionPeers
235+
: qConsensusPeers;
236+
237+
return getSyncData(
238+
syncingQuery,
239+
peersQuery,
240+
qNetwork.status === 'rejected',
241+
service.node.lastRunningTimestampMs,
242+
service.node.updateAvailable,
243+
service.node.initialSyncFinished,
244+
);
245+
},
246+
[
247+
qExecutionIsSyncing,
248+
qConsensusIsSyncing,
249+
qExecutionPeers,
250+
qConsensusPeers,
251+
qNetwork.status,
252+
],
253+
);
254+
222255
useEffect(() => {
223256
const formattedServices: ClientProps[] =
224257
selectedNodePackage?.services.map((service) => {
225-
const {
226-
id: nodeId,
227-
spec,
228-
lastRunningTimestampMs,
229-
initialSyncFinished,
230-
} = service.node;
258+
const { id: nodeId, spec } = service.node;
231259
const node = sUserNodes?.nodes[nodeId];
232260
// support other non-ethereum services
233261
const isNotConsensusClient = service.serviceId !== 'consensusClient';
234-
const syncDataSource = isNotConsensusClient
235-
? qExecutionIsSyncing
236-
: qConsensusIsSyncing;
237-
238-
const syncData = getSyncData(
239-
syncDataSource,
240-
qExecutionPeers,
241-
qNetwork.status === 'rejected',
242-
lastRunningTimestampMs,
243-
false,
244-
initialSyncFinished,
245-
);
262+
const syncData = getSyncDataForService(service);
246263

247264
const stats = isNotConsensusClient
248265
? {
@@ -338,18 +355,12 @@ const NodePackageScreen = () => {
338355

339356
const clientName = spec.specId.replace('-beacon', '');
340357

341-
const executionSyncData = getSyncData(
342-
qExecutionIsSyncing,
343-
qExecutionPeers,
344-
qNetwork.status === 'rejected',
345-
lastRunningTimestampMs,
346-
false,
347-
initialSyncFinished,
348-
);
349-
350-
const consensusIsSyncing = qConsensusIsSyncing?.isError
351-
? undefined
352-
: qConsensusIsSyncing?.data?.isSyncing || false;
358+
const executionSyncData = executionNode
359+
? getSyncDataForService(executionNode)
360+
: undefined;
361+
const consensusSyncData = consensusNode
362+
? getSyncDataForService(consensusNode)
363+
: undefined;
353364

354365
const isEthereumNodePackageSynced = () => {
355366
const isSynced = (
@@ -373,7 +384,7 @@ const NodePackageScreen = () => {
373384

374385
const isNodePackageSyncing =
375386
executionSyncData?.isSyncing ||
376-
consensusIsSyncing ||
387+
consensusSyncData?.isSyncing ||
377388
(isEthereumNodePackage && !isEthereumNodePackageSynced());
378389

379390
const nodePackageSyncData = {

0 commit comments

Comments
 (0)