diff --git a/static/js/custom.js b/static/js/custom.js index 7e5d053fe..793737311 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -142,8 +142,10 @@ window.onload = function () { }); }); - document.getElementById("filter-btn").addEventListener('click', toggleFilter); - document.getElementById("mobile-learn-btn").addEventListener('click', toggleMenu); + document.getElementById("filter-btn").addEventListener("click", toggleFilter); + document + .getElementById("mobile-learn-btn") + .addEventListener("click", toggleMenu); }; function openInNewTab(url) { @@ -162,21 +164,12 @@ function readingTime() { } } -const urls = [ - "https://gridproxy.grid.tf/stats?status=up", - "https://gridproxy.dev.grid.tf/stats?status=up", - "https://gridproxy.test.grid.tf/stats?status=up", - "https://gridproxy.bknd1.ninja.tf/stats?status=standby", // will change to mainnet when release - "https://gridproxy.dev.grid.tf/stats?status=standby", - "https://gridproxy.test.grid.tf/stats?status=standby", -]; - async function getStats() { try { - const stats = await Promise.all( - urls.map((url) => fetch(url).then((resp) => resp.json())) - ); - return mergeStatsData(stats); + const stats = await fetch( + "https://stats.grid.tf/api/stats-summary" + ).then((res) => res.json()); + return formatStatsData(stats); } catch (error) { throw new Error( `Failed to retrieve data from network statistics: ${error}` @@ -184,62 +177,17 @@ async function getStats() { } } -function mergeStatsData(stats) { - const res = stats[0]; - for (let i = 1; i < stats.length; i++) { - res.nodes += stats[i].nodes; - res.totalCru += stats[i].totalCru; - res.totalHru += stats[i].totalHru; - res.totalSru += stats[i].totalSru; - res.nodesDistribution = mergeNodeDistribution([ - res.nodesDistribution, - stats[i].nodesDistribution, - ]); - res.countries = Object.keys(res.nodesDistribution).length; - } - let capacity = toTeraOrGiga(res.totalHru + res.totalSru); - document.getElementById("capacity").innerHTML = capacity; - document.getElementById("nodes").innerHTML = res.nodes; - document.getElementById("countries").innerHTML = res.countries; - document.getElementById("cores").innerHTML = res.totalCru +function formatStatsData(stats) { + let items = document.querySelector(".items"); + items.classList.remove("animate-pulse"); + document.getElementById("capacity").innerHTML = stats.capacity; + document.getElementById("nodes").innerHTML = stats.nodes; + document.getElementById("countries").innerHTML = stats.countries; + document.getElementById("cores").innerHTML = stats.cores .toString() .replace(/\B(?=(\d{3})+(?!\d))/g, ","); } -function mergeNodeDistribution(stats) { - const keys = new Set(stats.map((obj) => Object.keys(obj)).flat()); - - return Array.from(keys).reduce((res, key) => { - res[key] = 0; - stats.forEach((country) => { - res[key] += country[key] ?? 0; - }); - return res; - }, {}); -} - -function toTeraOrGiga(value) { - const giga = 1024 ** 3; - - if (!value) return "0"; - - const val = +value; - if (val === 0 || isNaN(val)) return "0"; - - if (val < giga) return val.toString(); - - let gb = val / giga; - - if (gb < 1024) return `${gb.toFixed(2)} GB`; - - gb = gb / 1024; - - if (gb < 1024) return `${gb.toFixed(2)} TB`; - - gb = gb / 1024; - return `${gb.toFixed(2)} PB`; -} - readingTime(); getStats(); document.getElementById("year").innerHTML = new Date().getFullYear(); diff --git a/templates/partials/personCard.html b/templates/partials/personCard.html index 2204df7ee..024b06be7 100644 --- a/templates/partials/personCard.html +++ b/templates/partials/personCard.html @@ -1,3 +1,4 @@ +{% if page.title != 'ThreeFold Community' %}
- +{% endif %} diff --git a/templates/partials/person_card.html b/templates/partials/person_card.html index f5e37ccc1..9286f9cf6 100644 --- a/templates/partials/person_card.html +++ b/templates/partials/person_card.html @@ -1,3 +1,4 @@ +{% if page.title != 'ThreeFold Community' %} +{%endif%} diff --git a/templates/shortcodes/grid_stats.html b/templates/shortcodes/grid_stats.html index 539583cd9..ca8c25824 100644 --- a/templates/shortcodes/grid_stats.html +++ b/templates/shortcodes/grid_stats.html @@ -3,9 +3,9 @@
capacity
nodes
countries
