update map
This commit is contained in:
@@ -26,6 +26,7 @@ inTheNews: in_the_news
|
|||||||
solution_image: ./cta_image.svg
|
solution_image: ./cta_image.svg
|
||||||
cta: home_cta
|
cta: home_cta
|
||||||
videoPanel: home_videoPanel
|
videoPanel: home_videoPanel
|
||||||
|
stats: stats
|
||||||
featuresMain2: Features_home_2
|
featuresMain2: Features_home_2
|
||||||
features2:
|
features2:
|
||||||
[
|
[
|
||||||
|
|||||||
10
content/page/home/stats/index.md
Normal file
10
content/page/home/stats/index.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
id: stats
|
||||||
|
title: JOIN A GLOBAL NETWORK OF FARMERS ON THE THREEFOLD GRID
|
||||||
|
button: More Stats
|
||||||
|
link: https://explorer.threefold.io
|
||||||
|
image: ./map.png
|
||||||
|
---
|
||||||
|
|
||||||
|
With significant storage and compute capacity already available around <br />
|
||||||
|
the globe, the most advanced peer-to-peer network continues to expand.
|
||||||
BIN
content/page/home/stats/map.png
Normal file
BIN
content/page/home/stats/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 287 KiB |
@@ -245,6 +245,14 @@ module.exports = {
|
|||||||
path: './content/page/**/videoPanel/*.md',
|
path: './content/page/**/videoPanel/*.md',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
use: '@gridsome/source-filesystem',
|
||||||
|
options: {
|
||||||
|
typeName: 'Stats',
|
||||||
|
path: './content/page/**/stats/*.md',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
use: '@gridsome/source-filesystem',
|
use: '@gridsome/source-filesystem',
|
||||||
@@ -288,6 +296,7 @@ module.exports = {
|
|||||||
allSlides: 'About',
|
allSlides: 'About',
|
||||||
partenershipsMain: 'PartenershipsMain',
|
partenershipsMain: 'PartenershipsMain',
|
||||||
partnerships: 'Partenerships',
|
partnerships: 'Partenerships',
|
||||||
|
stats: 'Stats',
|
||||||
videoPanel: 'VideoPanel'
|
videoPanel: 'VideoPanel'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
112
src/components/marketing/sections/cta-sections/StateMap.vue
Normal file
112
src/components/marketing/sections/cta-sections/StateMap.vue
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
<template>
|
||||||
|
<section class="py-12 px-2">
|
||||||
|
<div class="flex flex-wrap blue p-12 text-center lg:text-left -mx-2">
|
||||||
|
<div
|
||||||
|
class="lg:w-1/4 light-blue text-center rounded-lg mt-10 lg:mt-0 order-1 lg:order-none"
|
||||||
|
>
|
||||||
|
<div class="relative max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||||
|
<dl class="">
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in stats"
|
||||||
|
:key="index"
|
||||||
|
class="flex flex-col p-6 text-center"
|
||||||
|
>
|
||||||
|
<div v-for="(value, key) in item" :key="key">
|
||||||
|
<dd
|
||||||
|
class="text-5xl leading-none font-bold green-color"
|
||||||
|
:class="{ green: index % 2 !== 0 }"
|
||||||
|
aria-describedby="item-1"
|
||||||
|
>
|
||||||
|
{{ value }}
|
||||||
|
</dd>
|
||||||
|
<dt
|
||||||
|
class="mt-2 text-lg leading-6 font-medium text-white uppercase"
|
||||||
|
id="item-1"
|
||||||
|
>
|
||||||
|
{{ key }}
|
||||||
|
</dt>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="lg:w-3/4 text-center rounded lg:pr-10 mt-10 lg:mt-0 order-1 lg:order-none"
|
||||||
|
>
|
||||||
|
<h2
|
||||||
|
class="text-4xl mb-6 leading-tight text-center text-white font-normal font-heading"
|
||||||
|
>
|
||||||
|
{{ section.title }}
|
||||||
|
</h2>
|
||||||
|
<div
|
||||||
|
class="text-2xl font-light text-white leading-relaxed"
|
||||||
|
v-html="section.content"
|
||||||
|
></div>
|
||||||
|
<g-image :src="img(section.image)" :alt="section.title" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import axios from "axios";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: ["section"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
stats: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
img(image) {
|
||||||
|
if (!image) return "";
|
||||||
|
if (image.src) return image.src;
|
||||||
|
return image;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
try {
|
||||||
|
const results = await axios.get(
|
||||||
|
"https://explorer.threefold.io/api/stats"
|
||||||
|
);
|
||||||
|
let sru = (results.data.sru / 1000).toFixed();
|
||||||
|
let hru = (results.data.hru / 1000000).toFixed();
|
||||||
|
this.stats.push(
|
||||||
|
{ countries: results.data.countries },
|
||||||
|
{ "cores online": results.data.cru },
|
||||||
|
{ "SSD storage capacity": sru },
|
||||||
|
{ "HDD storage capacity": hru }
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.blue {
|
||||||
|
background-color: #313f92;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light-blue {
|
||||||
|
background-color: #48489f;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
height: 200px;
|
||||||
|
width: 200px;
|
||||||
|
margin: auto;
|
||||||
|
border-radius: 50%;
|
||||||
|
line-height: 180px;
|
||||||
|
border: 10px solid #847fc2;
|
||||||
|
background-color: #313f92;
|
||||||
|
color: #dacef5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.green {
|
||||||
|
background-color: #92f5d9;
|
||||||
|
color: #313f92;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -59,6 +59,9 @@
|
|||||||
v-if="$page.markdownPage.cta5"
|
v-if="$page.markdownPage.cta5"
|
||||||
:cta="$page.markdownPage.cta5"
|
:cta="$page.markdownPage.cta5"
|
||||||
/> -->
|
/> -->
|
||||||
|
</div>
|
||||||
|
<Map v-if="$page.markdownPage.stats" :section="$page.markdownPage.stats" />
|
||||||
|
<div class="container sm:pxi-0 mx-auto overflow-x-hidden py-5">
|
||||||
|
|
||||||
<Features
|
<Features
|
||||||
:id="$page.markdownPage.id"
|
:id="$page.markdownPage.id"
|
||||||
@@ -344,6 +347,14 @@
|
|||||||
img
|
img
|
||||||
content
|
content
|
||||||
}
|
}
|
||||||
|
stats {
|
||||||
|
id
|
||||||
|
title
|
||||||
|
content
|
||||||
|
button
|
||||||
|
link
|
||||||
|
image
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,6 +373,7 @@ import SolutionsHeader from "~/components/custom/sections/header/HeaderSection.v
|
|||||||
import ShowcaseProducts from "~/components/marketing/sections/cta-sections/ShowcaseProductsHome.vue";
|
import ShowcaseProducts from "~/components/marketing/sections/cta-sections/ShowcaseProductsHome.vue";
|
||||||
import Comparison from "~/components/custom/sections/Comparison.vue";
|
import Comparison from "~/components/custom/sections/Comparison.vue";
|
||||||
import Features from "~/components/custom/sections/Features.vue";
|
import Features from "~/components/custom/sections/Features.vue";
|
||||||
|
import Map from "~/components/marketing/sections/cta-sections/StateMap.vue";
|
||||||
import NewCard from "~/components/marketing/sections/cta-sections/NewCard.vue";
|
import NewCard from "~/components/marketing/sections/cta-sections/NewCard.vue";
|
||||||
import BrandPanel from "~/components/marketing/sections/cta-sections/BrandPanel.vue";
|
import BrandPanel from "~/components/marketing/sections/cta-sections/BrandPanel.vue";
|
||||||
import BrandPanel2 from "~/components/marketing/sections/cta-sections/BrandPanel2.vue";
|
import BrandPanel2 from "~/components/marketing/sections/cta-sections/BrandPanel2.vue";
|
||||||
@@ -378,6 +390,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
Header,
|
Header,
|
||||||
Features,
|
Features,
|
||||||
|
Map,
|
||||||
SolutionsHeader,
|
SolutionsHeader,
|
||||||
ShowcaseProducts,
|
ShowcaseProducts,
|
||||||
Comparison,
|
Comparison,
|
||||||
|
|||||||
Reference in New Issue
Block a user