init product part
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
id: better_solution
|
||||||
|
title: ""
|
||||||
|
image: ./better_solution.png
|
||||||
|
link: https://threefold.io/threefold/blog/post/for_our_planet/
|
||||||
|
---
|
||||||
BIN
content/page/why/productData/better_solution/better_solution.png
Normal file
BIN
content/page/why/productData/better_solution/better_solution.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 312 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
id: internet_available
|
||||||
|
title: ""
|
||||||
|
image: ./internet_available.png
|
||||||
|
link: https://threefold.io/threefold/blog/post/more_inclusive_internet/
|
||||||
|
---
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 205 KiB |
7
content/page/why/productData/main/main.md
Normal file
7
content/page/why/productData/main/main.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
id: product_main
|
||||||
|
title: "WE TACKLE "
|
||||||
|
slogan: "THE ROOT ISSUES."
|
||||||
|
---
|
||||||
|
|
||||||
|
This is a not a fixed internet. It is a new Internet. One that is safer, more private, more accessible and keeps our planet’s well-being in mind.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
id: peer_to_peer
|
||||||
|
title: ""
|
||||||
|
image: ./peer_to_peer.png
|
||||||
|
link: https://threefold.io/threefold/blog/post/what_is_peer_to_peer/
|
||||||
|
---
|
||||||
BIN
content/page/why/productData/peer_to_peer/peer_to_peer.png
Normal file
BIN
content/page/why/productData/peer_to_peer/peer_to_peer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
@@ -7,6 +7,8 @@ header_altImg: threefold
|
|||||||
header_excerpt: Our mission is accelerate the transition of the data economy to a decentralized P2P model and make it possible for every person to learn, partake and succeed.
|
header_excerpt: Our mission is accelerate the transition of the data economy to a decentralized P2P model and make it possible for every person to learn, partake and succeed.
|
||||||
solution_image: ./404.png
|
solution_image: ./404.png
|
||||||
cta: why_cta
|
cta: why_cta
|
||||||
|
productsMain: "product_main"
|
||||||
|
productData: [peer_to_peer, internet_available, better_solution]
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- header: home_header
|
<!-- header: home_header
|
||||||
|
|||||||
61
src/components/AppListItem.vue
Normal file
61
src/components/AppListItem.vue
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<template>
|
||||||
|
<div class="flex flex-wrap with-large pt-8 pb-8 mx-4 sm:-mx-4">
|
||||||
|
<div class="text-center mx-auto my-10">
|
||||||
|
<h1 class="text-3xl text-gray-900 font-light sm:text-9xl sm:leading-10">
|
||||||
|
{{ main.title }} <span class="font-extrabold">{{ main.slogan }}</span>
|
||||||
|
</h1>
|
||||||
|
<div
|
||||||
|
class="mt-3 max-w-2xl mx-auto text-xl leading-7 text-gray-700 sm:mt-4"
|
||||||
|
v-html="main.content"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="flex w-1/2 app px-0 sm:px-4 pb-4"
|
||||||
|
v-for="product in products"
|
||||||
|
:key="product.id"
|
||||||
|
>
|
||||||
|
<div class="post-card-image-link px-1">
|
||||||
|
<g-link :href="product.link">
|
||||||
|
<g-image
|
||||||
|
:src="img(product.image)"
|
||||||
|
:alt="product.title"
|
||||||
|
class="post-card-image"
|
||||||
|
></g-image>
|
||||||
|
</g-link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: ["products", "main"],
|
||||||
|
methods: {
|
||||||
|
img(image) {
|
||||||
|
if (!image) return "";
|
||||||
|
if (image.src) return image.src;
|
||||||
|
return image;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap");
|
||||||
|
.post-card-excerpt {
|
||||||
|
font-family: "Roboto", sans-serif;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
.post-card-image {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.app:last-child {
|
||||||
|
width: auto !important;
|
||||||
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.app {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -41,6 +41,15 @@
|
|||||||
:cta="$page.markdownPage.cta"
|
:cta="$page.markdownPage.cta"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<div class="container sm:pxi-0 mx-auto mt-8 overflow-x-hidden">
|
||||||
|
<AppListItem
|
||||||
|
:products="$page.markdownPage.productData"
|
||||||
|
:main="$page.markdownPage.productsMain"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="container sm:pxi-0 mx-auto overflow-x-hidden py-5">
|
||||||
<ShowcaseProducts
|
<ShowcaseProducts
|
||||||
v-if="
|
v-if="
|
||||||
$page.markdownPage.productData &&
|
$page.markdownPage.productData &&
|
||||||
@@ -49,7 +58,7 @@
|
|||||||
:main="$page.markdownPage.productsMain"
|
:main="$page.markdownPage.productsMain"
|
||||||
:products="$page.markdownPage.productData"
|
:products="$page.markdownPage.productData"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div> -->
|
||||||
</Layout>
|
</Layout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -68,7 +77,8 @@
|
|||||||
productsMain{
|
productsMain{
|
||||||
id
|
id
|
||||||
title
|
title
|
||||||
subtitle
|
slogan
|
||||||
|
content
|
||||||
# image
|
# image
|
||||||
}
|
}
|
||||||
productData{
|
productData{
|
||||||
@@ -76,7 +86,7 @@
|
|||||||
title
|
title
|
||||||
content
|
content
|
||||||
image
|
image
|
||||||
url
|
link
|
||||||
}
|
}
|
||||||
comparisonMain{
|
comparisonMain{
|
||||||
id
|
id
|
||||||
@@ -134,6 +144,7 @@ import Roadmap from "~/components/custom/sections/Roadmap.vue";
|
|||||||
import FourTiersWithToggle from "~/components/marketing/sections/pricing/four_tiers_with_toggle.vue";
|
import FourTiersWithToggle from "~/components/marketing/sections/pricing/four_tiers_with_toggle.vue";
|
||||||
import WithComparisonTable from "~/components/marketing/sections/pricing/with_comparison_table.vue";
|
import WithComparisonTable from "~/components/marketing/sections/pricing/with_comparison_table.vue";
|
||||||
import BrandPanel from "~/components/marketing/sections/cta-sections/BrandPanel.vue";
|
import BrandPanel from "~/components/marketing/sections/cta-sections/BrandPanel.vue";
|
||||||
|
import AppListItem from "~/components/AppListItem.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -153,6 +164,7 @@ export default {
|
|||||||
FourTiersWithToggle,
|
FourTiersWithToggle,
|
||||||
WithComparisonTable,
|
WithComparisonTable,
|
||||||
BrandPanel,
|
BrandPanel,
|
||||||
|
AppListItem,
|
||||||
},
|
},
|
||||||
|
|
||||||
metaInfo() {
|
metaInfo() {
|
||||||
|
|||||||
Reference in New Issue
Block a user