diff --git a/.env.jungle b/.env.jungle index 2f1045a0..c18efb68 100644 --- a/.env.jungle +++ b/.env.jungle @@ -50,7 +50,7 @@ PORT=3000 REACT_APP_TAG=dev REACT_APP_NAME=$npm_package_name REACT_APP_TITLE=EOS Jungle Testnet Network Dashboard -REACT_APP_DEFAULT_PRODUCER_LOGO=https://bloks.io/img/eosio.png +REACT_APP_DEFAULT_PRODUCER_LOGO=https://jungle.eosio.online/jungle.png REACT_APP_FOOTER_LINKS=[{"text":"Website","src":"https://jungletestnet.io/"},{"text":"Block Explorer","src":"https://jungle3.bloks.io"},{"text":"Developer Guidelines","src":"https://guide.eoscostarica.io"},{"text":"GitHub","src":"https://github.com/eoscostarica/eosio-dashboard"}] REACT_APP_EOS_RATE_LINK=https://jungle.eosrate.io:8080 REACT_APP_USE_REWARDS=true @@ -60,7 +60,7 @@ REACT_APP_USE_BLOCK_PRODUCER_AGREEMENT_CONTRACT=true REACT_APP_HASURA_URL=http://localhost:8585/v1/graphql REACT_APP_EOS_API_NETWORK_NAME=jungle REACT_APP_EOS_API_NETWORK_LABEL=Jungle -REACT_APP_EOS_API_NETWORK_LOGO=https://jungletestnet.io/assets/jungle-testnet-logo.png +REACT_APP_EOS_API_NETWORK_LOGO=https://jungle.eosio.online/jungle.png REACT_APP_EOS_API_HOST=jungle.eosio.cr REACT_APP_EOS_API_PORT=443 REACT_APP_EOS_API_PROTOCOL=https diff --git a/.github/workflows/push-dev-environment.yaml b/.github/workflows/push-dev-environment.yaml index 6e22f481..eb44368f 100644 --- a/.github/workflows/push-dev-environment.yaml +++ b/.github/workflows/push-dev-environment.yaml @@ -34,7 +34,7 @@ jobs: PORT: 80 REACT_APP_TITLE: EOS Jungle Testnet Network Dashboard REACT_APP_TAG: ${{ github.ref }} - REACT_APP_DEFAULT_PRODUCER_LOGO: https://bloks.io/img/eosio.png + REACT_APP_DEFAULT_PRODUCER_LOGO: https://jungle.eosio.online/jungle.png REACT_APP_FOOTER_LINKS: '[{"text":"Website","src":"https://jungletestnet.io/"},{"text":"Block Explorer","src":"https://jungle3.bloks.io"},{"text":"Developer Guidelines","src":"https://guide.eoscostarica.io"},{"text":"GitHub","src":"https://github.com/eoscostarica/eosio-dashboard"}]' REACT_APP_EOS_RATE_LINK: https://jungle.eosrate.io:8080 REACT_APP_USE_REWARDS: true @@ -44,7 +44,7 @@ jobs: REACT_APP_HASURA_URL: https://graphql-jungle.eosio.online/v1/graphql REACT_APP_EOS_API_NETWORK_NAME: jungle REACT_APP_EOS_API_NETWORK_LABEL: Jungle - REACT_APP_EOS_API_NETWORK_LOGO: https://jungletestnet.io/assets/jungle-testnet-logo.png + REACT_APP_EOS_API_NETWORK_LOGO: https://jungle.eosio.online/jungle.png REACT_APP_EOS_API_HOST: jungle.eosio.cr REACT_APP_EOS_API_PORT: 443 REACT_APP_EOS_API_PROTOCOL: https diff --git a/webapp/public/jungle.png b/webapp/public/jungle.png new file mode 100644 index 00000000..5d6f00ea Binary files /dev/null and b/webapp/public/jungle.png differ diff --git a/webapp/src/components/InformationCard/Stats.js b/webapp/src/components/InformationCard/Stats.js index ae881445..cb7aac1d 100644 --- a/webapp/src/components/InformationCard/Stats.js +++ b/webapp/src/components/InformationCard/Stats.js @@ -13,15 +13,13 @@ const Stats = ({ missedBlocks, t, classes, votes, rewards, type }) => { {t('stats')} - {`${t( - 'votes' - )}: ${votes}eos`} + {`${t('votes')}: ${votes}`} {`${t( 'rewards' - )}: ${rewards}`} + )}: ${rewards} EOS`} diff --git a/webapp/src/components/InformationCard/index.js b/webapp/src/components/InformationCard/index.js index cdb458ef..3cc3b3f5 100644 --- a/webapp/src/components/InformationCard/index.js +++ b/webapp/src/components/InformationCard/index.js @@ -40,6 +40,24 @@ const InformationCard = ({ producer, rank, onNodeClick, type }) => { setExpanded(!expanded) } + const missedBlock = (producer, nodeType, type) => { + if (eosConfig.networkName !== 'lacchain') return <> + + if (type !== 'node' || nodeType !== 'validator') return <> + + return ( + + + {`${t('missedBlocks')}: `} + {(producer.missed_blocks || []).reduce( + (result, current) => result + current.value, + 0 + )} + + + ) + } + useEffect(() => { setProducerOrg( formatData( @@ -91,11 +109,11 @@ const InformationCard = ({ producer, rank, onNodeClick, type }) => { missedBlocks={producer.missed_blocks || []} votes={formatWithThousandSeparator( producer.total_votes_eos || '0', - 2 + 0 )} rewards={formatWithThousandSeparator( producer.total_rewards || '0', - 2 + 0 )} /> { {t('health')} - {eosConfig.networkName === 'lacchain' && ( - - - {`${t('missedBlocks')}: `} - {(producer.missed_blocks || []).reduce( - (result, current) => result + current.value, - 0 - )} - - - )} - + {missedBlock(producer, producerOrg?.media?.account, type)} { {nodes && - Object.keys(nodes).map((type) => ( - - - - {t(type)} - - - - - ))} + Object.keys(nodes).map((type) => { + let label = type + + if (type[0] === '[' && type[type.length - 1] === ']') { + label = type + .replace(/\[/g, '') + .replace(/\]/g, '') + .replace(/['"]+/g, '') + } + + return ( + + + + {t(label)} + + + + + ) + })} ) } diff --git a/webapp/src/components/TransactionsHistory.js b/webapp/src/components/TransactionsHistory.js index fd99f6ef..5f43a0a4 100644 --- a/webapp/src/components/TransactionsHistory.js +++ b/webapp/src/components/TransactionsHistory.js @@ -49,29 +49,27 @@ const TransactionsHistory = ({ t, classes }) => { if (data?.stats?.[0]?.tps_all_time_high?.blocks?.length) { const result = data.stats[0].tps_all_time_high.blocks.reduce( (prev, current) => { + const isTpsLinkValid = + prev.tps.link && prev.tps.value > current.transactions_count + const isCpuLinkValid = + prev.cpu.link && prev.cpu.value > current.transactions_count + return { tps: { - value: - prev.value > current.transactions_count - ? prev.value - : current.transactions_count, + value: data.stats[0].tps_all_time_high.transactions_count, link: getBlockNumUrl( - prev.value > current.transactions_count - ? prev.link - : current.block_num + isTpsLinkValid ? prev.tps.link : current.block_num ) }, cpu: { value: formatWithThousandSeparator( - prev.value > current.cpu_usage_percent - ? prev.value + prev.cpu.value > current.cpu_usage_percent + ? prev.cpu.value : current.cpu_usage_percent * 100, 1 ), link: getBlockNumUrl( - prev.value > current.cpu_usage_percent - ? prev.link - : current.block_num + isCpuLinkValid ? prev.cpu.link : current.block_num ) } } @@ -79,11 +77,11 @@ const TransactionsHistory = ({ t, classes }) => { { tps: { value: 0, - link: '' + link: null }, cpu: { value: 0, - link: '' + link: null } } ) @@ -173,7 +171,8 @@ const TransactionsHistory = ({ t, classes }) => { )}`} diff --git a/webapp/src/language/en.lacchain.json b/webapp/src/language/en.lacchain.json index eb438757..d009f81f 100644 --- a/webapp/src/language/en.lacchain.json +++ b/webapp/src/language/en.lacchain.json @@ -33,10 +33,10 @@ "producerName": "Entity name", "producers": "Entities", "producer": "Entity", - "boot": "Boot", - "writer": "Writer", - "observer": "Observer", - "validator": "Validator", + "boot": "Boot Nodes", + "writer": "Writer Nodes", + "observer": "Observer Nodes", + "validator": "Validator Nodes", "partner": "Partner", "nonPartner": "Non-Partner" }, diff --git a/webapp/src/language/es.lacchain.json b/webapp/src/language/es.lacchain.json index cb228b8a..b9a3d412 100644 --- a/webapp/src/language/es.lacchain.json +++ b/webapp/src/language/es.lacchain.json @@ -32,10 +32,10 @@ "producerName": "Nombre de la entidad", "producers": "Entidades", "producer": "Entidad", - "boot": "Boot", - "writer": "Escritor", - "observer": "Observador", - "validator": "Validador", + "boot": "Nodos Boot", + "writer": "Nodos Escritores", + "observer": "Nodos Observadores", + "validator": "Nodos Validadores", "partner": "Partner", "nonPartner": "Non-Partner" }, diff --git a/webapp/src/routes/Home/styles.js b/webapp/src/routes/Home/styles.js index 5266e442..4335091c 100644 --- a/webapp/src/routes/Home/styles.js +++ b/webapp/src/routes/Home/styles.js @@ -71,7 +71,8 @@ export default (theme) => ({ marginBottom: 2 }, svgLink: { - fontSize: 20 + fontSize: 18, + marginLeft: theme.spacing(2) }, lowercase: { textTransform: 'lowercase !important'