This repository has been archived on 2022-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
skynet-webportal/packages/website/src/pages/index.js

184 lines
5.5 KiB
JavaScript
Raw Normal View History

2021-03-23 12:07:19 +00:00
import * as React from "react";
// import { StaticImage } from "gatsby-plugin-image";
2021-03-25 21:44:24 +00:00
import Layout from "../components/Layout";
2021-03-23 12:07:19 +00:00
import SEO from "../components/seo";
2021-03-25 21:44:24 +00:00
import HeroStartPage from "../components/HeroStartPage";
2021-03-23 12:07:19 +00:00
import CommunitySection from "../components/CommunitySection";
2021-03-25 21:44:24 +00:00
import Uploader from "../components/Uploader";
2021-03-23 12:07:19 +00:00
import {
ArrowRight,
SkynetToolBig,
SkynetUserBig,
SkynetPowerBig,
SkynetMonetizationSmall,
SkynetPersistenceSmall,
SkynetSpeedSmall,
SkynetUsageSmall,
SkynetSiaSmall,
} from "../components/Icons";
import classnames from "classnames";
2021-03-26 16:23:42 +00:00
const Section = React.forwardRef(({ children, className, ...props }, ref) => (
<div ref={ref} className={classnames("p-8", className)} {...props}>
2021-03-23 12:07:19 +00:00
<div className="max-w-content mx-auto">{children}</div>
</div>
2021-03-26 16:23:42 +00:00
));
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
const EtosCard = ({ Icon, text }) => (
2021-03-23 12:07:19 +00:00
<div className="flex flex-col items-center">
<Icon height="142" />
<p className="text-center mt-4 font-light text-palette-600 text-lg">{text}</p>
</div>
);
2021-03-26 16:23:42 +00:00
const EcosystemCard = ({ Icon, title, text }) => (
2021-03-23 12:07:19 +00:00
<div className="flex flex-col">
<Icon />
<h3 className="font-light text-lg mt-6">{title}</h3>
<p className="text-palette-400 font-content mt-6">{text}</p>
</div>
);
2021-03-25 01:27:53 +00:00
const LearnMoreButton = () => (
<a
href="https://secure.siasky.net"
className="inline-block border-2 border-palette-600 text-palette-600 px-10 leading-10 rounded-full text-xs uppercase text-center mt-7"
>
Learn more
</a>
);
const SectionTitle = ({ children, className, ...props }) => (
<h2 className={classnames("text-4xl font-semibold text-palette-600", className)} {...props}>
{children}
</h2>
);
2021-03-26 16:23:42 +00:00
const etosCards = [
{
Icon: SkynetToolBig,
title: "Build a freer future",
},
{
Icon: SkynetUserBig,
title: "Fight corporate control of user data",
},
{
Icon: SkynetPowerBig,
title: "Empower global citizens",
},
];
const ecosystemCards = [
{
Icon: SkynetUsageSmall,
title: "Easy to use",
text:
"Decentralized storage without needing to run a node or wallet. Skynet also includes SDKs for popular programming languages and APIs that integrate seamlessly with your existing apps.",
},
{
Icon: SkynetSpeedSmall,
title: "Fast",
text:
"Skynet's speeds rival centralized providers and surpass all decentralized offerings. A typical Skynet download starts in under 500 ms and can stream at rates as high as 1 Gbps!",
},
{
Icon: SkynetSiaSmall,
title: "Free to use",
text:
"Focus on building, not overheard server costs. When users own their data, developers aren't asked to pay for it.",
},
{
Icon: SkynetMonetizationSmall,
title: "Monetization",
text:
"Profit directly from the success of your skapp. Now you can truly prioritize your users, instead of advertisers.",
},
{
Icon: SkynetPersistenceSmall,
title: "Persistence",
text:
"Your skapp and data stay live, even if corporations pull your access to their resources. You can also use Skynet as a failover site for when centralized providers go down.",
},
];
const IndexPage = () => {
return (
<Layout>
<SEO title="Home" />
<Section>
<HeroStartPage />
</Section>
<Section className="relative">
<div className="absolute inset-x-0 bg-white bottom-0" style={{ top: "240px" }}></div>
<Uploader />
</Section>
<Section className="bg-white py-32">
<SectionTitle className="text-center mb-11">The new decentralized internet is here</SectionTitle>
<div className="grid grid-cols-1 gap-8 desktop:grid-cols-3">
{etosCards.map((card, index) => (
<EtosCard key={index} {...card} />
))}
</div>
2021-03-25 21:44:24 +00:00
2021-03-26 16:23:42 +00:00
<div className="flex flex-col items-center mt-16">
<p className="max-w-screen-md text-center text-base font-content text-palette-400">
Skynet apps pave the way for a new web that priorities the privacy, security, and experience of users. Join
our decentralized ecosystem and revolution.
</p>
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
<a href="/" className="mt-6 uppercase flex items-center text-xs text-palette-600">
Try Skynet Apps <ArrowRight />
</a>
</div>
</Section>
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
<Section className="bg-palette-100 py-32">
<SectionTitle className="mb-7 desktop:hidden">Ready to build your application?</SectionTitle>
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
<div className="grid grid-cols-1 gap-x-8 gap-y-16 desktop:grid-cols-3 desktop:grid-rows-2">
<div className="hidden desktop:inline-block">
<SectionTitle>Ready to build your application?</SectionTitle>
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
<LearnMoreButton />
</div>
2021-03-25 01:27:53 +00:00
2021-03-26 16:23:42 +00:00
{ecosystemCards.map((card, index) => (
<EcosystemCard key={index} {...card} />
))}
</div>
2021-03-25 01:27:53 +00:00
2021-03-26 16:23:42 +00:00
<div className="desktop:hidden mt-12 text-center">
2021-03-25 01:27:53 +00:00
<LearnMoreButton />
2021-03-23 12:07:19 +00:00
</div>
2021-03-26 16:23:42 +00:00
</Section>
2021-03-23 12:07:19 +00:00
2021-03-26 16:23:42 +00:00
<Section className="py-24 bg-primary">
<CommunitySection />
</Section>
{/* <h1>Hi people</h1>
2021-03-23 12:07:19 +00:00
<p>Welcome to your new Gatsby site.</p>
<p>Now go build something great.</p>
<StaticImage
src="../images/gatsby-astronaut.png"
width={300}
quality={95}
formats={["AUTO", "WEBP", "AVIF"]}
alt="A Gatsby astronaut"
style={{ marginBottom: `1.45rem` }}
/>
<p>
<Link to="/page-2/">Go to page 2</Link> <br />
<Link to="/using-typescript/">Go to "Using TypeScript"</Link>
</p> */}
2021-03-26 16:23:42 +00:00
</Layout>
);
};
2021-03-23 12:07:19 +00:00
export default IndexPage;