diff --git a/src/app/page.tsx b/src/app/page.tsx index 5e82877..1a1fccc 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,6 +1,5 @@ import Image from 'next/image' import ImageIconCluster from '@/../public/images/index/cluster-1.png' -import { Web3StorageLogo } from '@/components/brand' import { W3UPClientExample } from '@/components/code' import { NavLink, ButtonLink, Header } from '@/components/nav' @@ -31,12 +30,12 @@ export default function HomePage () {
-
+

Connecting the web of data

Eliminate silos with web3.storage. Using IPFS and other decentralized protocols, create a true data layer that connects you, your users, and the Web, regardless of where content is stored - client-side, in the cloud, or elsewhere.

Sounds hard? It isn't. Our client libraries are super easy-to-use, abstracting the complexity of these decentralized protocols. And our hosted object storage provides best-in-class IPFS write and read performance and competitive pricing to web2 solutions, giving you the ability to write innovative applications without compromise.

-
+
diff --git a/src/app/pricing/page.tsx b/src/app/pricing/page.tsx index 514b9b5..31f37d7 100644 --- a/src/app/pricing/page.tsx +++ b/src/app/pricing/page.tsx @@ -1,4 +1,6 @@ -import { Header } from "@/components/nav" +import Tick from '@/../public/images/pricing/circle-check.svg' +import { ButtonLink, Header } from "@/components/nav" +import Image from 'next/image' import { Metadata } from "next" import fs from 'node:fs/promises' import path from 'node:path' @@ -34,6 +36,48 @@ function LogoCard ({src}: {src: string}) { ) } +type PlanCardProps = { + name: string + price: string + storage: string + egress?: string + storageExcess: string + egressExcess?: string + banner?: string +} + +function PlanCard ({ name, price, storage, egress = storage, storageExcess, egressExcess = storageExcess, banner }: PlanCardProps) { + return ( +
+ {banner ?

{banner}

: null} +
+

+ {name} + {price}/mo +

+
+ yep +
+

{storage} storage

+

Additional at {storageExcess} per month

+
+
+
+ yep +
+

{egress} egress per month

+

Additional at {egressExcess} per month

+
+
+

{storage}

+

+ Get started +

+
+
+ ) +} + export default async function PricingPage () { const logos = await findLogoUrls() return ( @@ -44,21 +88,33 @@ export default async function PricingPage () {

As much as you need, verifiably

web3.storage is designed for scale and simplicity. Utilize our elastic, hosted data platform that integrates decentralized data and authentication protocols. No need to worry about performance or reliability.

+
+
+
+ +
+
+ +
+
+ +
+
+ {/*
+
+

Custom

+

+ Looking for way more? Anticipate having a complex integration? Just tell us more about what you're building and we can figure it out. +

+
+
*/} +

TRUSTED BY

- {/*
-
-
- Free -
-
Lite
-
Pro
-
-
*/} ) diff --git a/src/components/code.tsx b/src/components/code.tsx index e13f1ca..cd92e64 100644 --- a/src/components/code.tsx +++ b/src/components/code.tsx @@ -28,7 +28,7 @@ export async function SyntaxHighlight ({code, theme = 'dracula-soft', lang = 'ja export function CodeSample (props: {code: string, theme?: Theme, lang?: Lang}) { return ( -
+
) diff --git a/src/globals.css b/src/globals.css index a882ed6..82be4e2 100644 --- a/src/globals.css +++ b/src/globals.css @@ -9,6 +9,9 @@ background-size: 400% 400%; animation: bgPosDrift 60s ease infinite; } + .bg-grad-2 { + background: linear-gradient(269deg, #0AB2AA 0%, #4622FC 53.4%, #FF00C4 108.59%); + } .text-grad { background: linear-gradient(92deg, #B507DC 0.82%, #2F0FDB 26.77%); background-clip: text;