refactor: '/vision' route is now refactored

This commit is contained in:
Juan Di Toro 2023-08-14 15:40:03 +02:00
parent b55aa890ba
commit 1356b66a99
10 changed files with 157 additions and 72 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -1,29 +1,48 @@
--- ---
import './Grid.scss'; // import "./Grid.scss";
import GridCell from "./GridCell.astro";
const features = [
{
title: "Decentralized Websites (Goal)",
description:
"You should be able to gain access to any website on any network, in a secure and decentralized way",
},
{
title: "Decentralized Publishing (Idea)",
description:
"You should be able to easily publish a blog or any other basic website for personal or professional use",
},
{
title: "Website Building Tools (Idea)",
description:
"You should be able to easily build a website that targets the decentralized web",
},
{
title: "eCommerce (Idea)",
description:
"You should be be able to buy or sell in a free market without censorship or politics blocking your ability to transact",
},
{
title: "Earn a Living (Idea)",
description:
"You should be able to monetize your content or skills, without a middleman or gatekeeper. You should be able to be free to live your best life by having access to an open market so that you are never chained down or restricted",
},
];
--- ---
<section id="grid" class="feature-grid"> <section
<div> id="grid"
<h2>Freedom. Privacy. Ownership.</h2> class="flex flex-col md:mx-20 lg:mx-40 justify-between items-start gap-y-10 md:flex-row md:flex-wrap"
</div> >
<div> <div class="w-[calc(33.33%-20px)] pl-12 pt-5 mx-[10px]">
<h3>Decentralized Websites (Goal)</h3> <h2 class="text-primary font-display text-4xl leading-[1.6] font-bold">
<p>You should be able to gain access to any website on any network, in a secure and decentralized way</p> Freedom. <br /> Privacy. Ownership.
</div> </h2>
<div> </div>
<h3>Decentralized Publishing (Idea)</h3> {
<p>You should be able to easily publish a blog or any other basic website for personal or professional use</p> features.map((feature) => (
</div> <GridCell title={feature.title} description={feature.description} />
<div> ))
<h3>Website Building Tools (Idea)</h3> }
<p>You should be able to easily build a website that targets the decentralized web</p>
</div>
<div>
<h3>eCommerce (Idea)</h3>
<p>You should be be able to buy or sell in a free market without censorship or politics blocking your ability to transact</p>
</div>
<div>
<h3>Earn a Living (Idea)</h3>
<p>You should be able to monetize your content or skills, without a middleman or gatekeeper. You should be able to be free to live your best life by having access to an open market so that you are never chained down or restricted</p>
</div>
</section> </section>

View File

@ -0,0 +1,17 @@
---
export interface Props {
title: string;
description: string;
}
const { title, description } = Astro.props;
---
<div class="lg:w-[calc(33.33%-20px)] p-10 bg-black mx-[10px] space-y-5">
<h3 class="font-display text-xl md:text-2xl">
{title}
</h3>
<p class="text-lg md:text-xl text-body font-body">
{description}
</p>
</div>

View File

@ -1,9 +1,12 @@
--- ---
import '../../../styles/jumbotron.scss'; import "../../../styles/jumbotron.scss";
import backgroundSrc from "/src/assets/vision-jumbotron-bg.png";
--- ---
<section id="jumbotron"> <section id="jumbotron" class="relative">
<h1> <img
Easy access to an open, user-owned web. src={backgroundSrc.src}
</h1> class="-z-10 absolute left-1/2 -translate-x-1/2 w-[100em] max-w-none"
/>
<h1 class="font-display2">Easy access to an open, user-owned web.</h1>
</section> </section>

View File

@ -1,28 +1,29 @@
--- ---
import './NoVc.scss'; import Button from "../../ui/Button.astro";
import FeaturedGroup from "../../ui/FeaturedGroup.astro";
import background from "/src/assets/double-brand-bg.png";
--- ---
<section id="no-vc"> <section
<div class="feature-group"> id="no-vc"
<h2>Community-Powered</h2> class="relative flex flex-row pb-40 mx-10 md:mx-20 lg:mx-40"
<h3>All about the people, no VC here.</h3> >
<p> <img
Our vision is completely grass roots, and FOSS. The user needs to have a voice and be in control of their web. Due to our principles, we have not taken any VC money that might be able to strap a jetpack to the project, because the output would compromise the spirit and goals we are setting out to achieve. src={background.src}
</p> class="absolute top-0 right-0 md:static -mx-10 -md:mx-20 lg:-mx-40 w-[1000px] max-h-[650px]"
<p> />
We are <i>very</i> aware of the projects that have come before us and whom have made similar promises. We are also doing our best to learn from their mistakes and failures. <div class="flex flex-col">
</p> <FeaturedGroup
<p> subtitle="Community-Powered"
The key difference that we see big picture is you need both an <b>economy</b> and <b>decentralized/P2P</b> networks, because running the internet is not free, and someone <i>always</i> has to foot the bill. title="All about the people, no VC here."
</p> text={[
<p> "Our vision is completely grass roots, and FOSS. The user needs to have a voice and be in control of their web. Due to our principles, we have not taken any VC money that might be able to strap a jetpack to the project, because the output would compromise the spirit and goals we are setting out to achieve.",
Blockchain <b><i>finally</i></b> makes this possible. "We are <i>very</i> aware of the projects that have come before us and whom have made similar promises. We are also doing our best to learn from their mistakes and failures.",
</p> "The key difference that we see big picture is you need both an <b>economy</b> and <b>decentralized/P2P</b> networks, because running the internet is not free, and someone <i>always</i> has to foot the bill.",
<p> "Blockchain <b><i>finally</i></b> makes this possible.",
Having a pragmatic view on mass adoption without compromising on principles is needed to make progress on a user-owned web. "Having a pragmatic view on mass adoption without compromising on principles is needed to make progress on a user-owned web.",
</p> ]}
<div> />
<a href="/donate" class="btn-main">Contribute to our cause</a> <Button label="Contribute to our cause" href="/donate" />
</div>
</div> </div>
</section> </section>

View File

@ -1,23 +1,23 @@
--- ---
import './Unify.scss'; import unifyBg from "/src/assets/unifying-bg.png";
import FeaturedGroup from "../../ui/FeaturedGroup.astro";
--- ---
<section id="unify"> <section
<div class="custom-bg"></div> id="unify"
<div class="feature-group"> class="mx-10 md:mx-20 lg:mx-40 flex flex-col-reverse md:flex-row gap-10"
<h2>Community-Powered</h2> >
<h3>Unifying all the Networks</h3> <FeaturedGroup
<p> subtitle="Unifying all the Networks"
There are many, <i>many</i> "crypto", "defi", "web3", "P2P", and "dWeb" projects that have all taken hundreds title="Community-Powered"
of different approaches to innovate. However, they all have the same broad ethos in common, and they all text={[
need an easy means to access them in one place, but in a censorship-resistant way. `There are many, <i class="mr-1">many</i> "crypto", "defi", "web3", "P2P", and "dWeb" projects
</p> that have all taken hundreds of different approaches to innovate. However,
<p> they all have the same broad ethos in common, and they all need an easy means
We have a very ambitious vision, and this requires all "tribes" to work together enough for the benefit of to access them in one place, but in a censorship-resistant way.`,
the end user. `We have a very ambitious vision, and this requires all "tribes" to work together enough for the benefit of the end user.`,
</p> `Below are some of the ideas we are aiming for, and some we would like to tackle eventually.`,
<p> ]}
Below are some of the ideas we are aiming for, and some we would like to tackle eventually. />
</p> <img src={unifyBg.src} class="float-right w-full max-h-[550px] -mr-40" />
</div>
</section> </section>

View File

@ -0,0 +1,16 @@
---
export interface Props {
label: string;
href: string;
}
const { label, href } = Astro.props;
---
<div class="pt-10 w-full">
<a
href={href}
class="text-2xl w-full block text-center md:max-w-[350px] rounded-md bg-primary py-3 px-10 text-black font-body"
>{label}</a
>
</div>

View File

@ -0,0 +1,28 @@
---
export interface Props {
title: string;
subtitle: string;
text: string[];
}
// Default props
const { title, subtitle, text } = Astro.props;
---
<div class="flex flex-col gap-10">
<h2 class="font-display text-primary font-bold text-xl md:text-2xl uppercase">
{title}
</h2>
<h3 class="font-display text-4xl md:text-6xl font-bold">
{subtitle}
</h3>
{
text.map((paragraph) => (
<p class="font-body text-xl md:text-3xl text-body">
<Fragment set:html={paragraph} />
</p>
))
}
</div>

View File

@ -12,6 +12,7 @@ module.exports = {
fontFamily: { fontFamily: {
'body': '"Jaldi", sans-serif', 'body': '"Jaldi", sans-serif',
'display': '"JetBrains Mono", monospace', 'display': '"JetBrains Mono", monospace',
'display2': '"IBM Plex Sans Devanagari", monospace',
} }
} }
} }