|
| 1 | +import { Fragment } from "react" |
| 2 | +import { Check } from "lucide-react" |
1 | 3 | import { getTranslations } from "next-intl/server"
|
2 | 4 |
|
3 | 5 | import type { Lang } from "@/lib/types"
|
4 | 6 | import { ChildOnlyProp } from "@/lib/types"
|
5 | 7 |
|
| 8 | +import ABTestWrapper from "@/components/AB/TestWrapper" |
| 9 | +import BigNumber from "@/components/BigNumber" |
6 | 10 | import { CopyButton } from "@/components/CopyToClipboard"
|
7 | 11 | import FeedbackCard from "@/components/FeedbackCard"
|
8 | 12 | import HubHero from "@/components/Hero/HubHero"
|
@@ -61,6 +65,56 @@ const Scroller = ({
|
61 | 65 | )
|
62 | 66 | }
|
63 | 67 |
|
| 68 | +const WhyGrid = () => { |
| 69 | + const items = [ |
| 70 | + { |
| 71 | + heading: "Money you can program", |
| 72 | + description: |
| 73 | + "Write code that defines how value moves, when, and to whom. No banks, no intermediaries, just logic you define.", |
| 74 | + }, |
| 75 | + { |
| 76 | + heading: "Future-proof skills", |
| 77 | + description: |
| 78 | + "Learn the building blocks of the next internet. The tech might evolve, but the principles of web3 are here to stay.", |
| 79 | + }, |
| 80 | + { |
| 81 | + heading: "Censorship resistance", |
| 82 | + description: |
| 83 | + "Build projects and commerce that can't be silenced by governments, corporations, or algorithms. If it matters, it stays online.", |
| 84 | + }, |
| 85 | + { |
| 86 | + heading: "Digital sovereignty", |
| 87 | + description: |
| 88 | + "Own your identity, assets, and creations online without relying on platforms that can delete you.", |
| 89 | + }, |
| 90 | + ] |
| 91 | + |
| 92 | + return ( |
| 93 | + <div |
| 94 | + className={cn( |
| 95 | + "rounded-4xl border border-accent-c/20", |
| 96 | + "grid grid-cols-1 gap-6 p-8 md:grid-cols-2 md:p-14", |
| 97 | + "bg-gradient-to-b from-accent-c/5 from-[60%] to-accent-c/15" |
| 98 | + )} |
| 99 | + > |
| 100 | + {items.map(({ heading, description }) => ( |
| 101 | + <div className="flex gap-1.5" key={heading}> |
| 102 | + <div className="my-1 grid h-fit place-items-center rounded-full bg-success/20 p-1"> |
| 103 | + <Check |
| 104 | + className="size-3 stroke-[4] text-success" |
| 105 | + strokeLinecap="square" |
| 106 | + strokeLinejoin="miter" |
| 107 | + /> |
| 108 | + </div> |
| 109 | + <div className="space-y-1"> |
| 110 | + <h3 className="text-lg">{heading}</h3> |
| 111 | + <p className="text-body-medium">{description}</p> |
| 112 | + </div> |
| 113 | + </div> |
| 114 | + ))} |
| 115 | + </div> |
| 116 | + ) |
| 117 | +} |
64 | 118 | const DevelopersPage = async ({
|
65 | 119 | params,
|
66 | 120 | }: {
|
@@ -118,6 +172,68 @@ const DevelopersPage = async ({
|
118 | 172 | </div>
|
119 | 173 | </Section>
|
120 | 174 |
|
| 175 | + <ABTestWrapper |
| 176 | + testKey="2025-08-why-dev" |
| 177 | + variants={[ |
| 178 | + <Fragment key="empty" />, |
| 179 | + <Section |
| 180 | + key="why-without-metrics" |
| 181 | + id="why" |
| 182 | + className={cn( |
| 183 | + "grid grid-cols-1 gap-6 md:gap-10 lg:grid-cols-2", |
| 184 | + "-mx-8 w-screen max-w-screen-2xl items-center bg-background-highlight px-8 py-10 md:py-20" |
| 185 | + )} |
| 186 | + > |
| 187 | + <div className="space-y-4"> |
| 188 | + <h2>Create the internet you want to live in</h2> |
| 189 | + <p> |
| 190 | + Ethereum is where you turn ideas into un-censorable systems |
| 191 | + that run anywhere, forever. Build apps, money, and communities |
| 192 | + that answer to no one but their users. |
| 193 | + </p> |
| 194 | + </div> |
| 195 | + <WhyGrid /> |
| 196 | + </Section>, |
| 197 | + <Section |
| 198 | + key="why-with-metrics" |
| 199 | + id="why" |
| 200 | + className={cn( |
| 201 | + "grid grid-cols-1 gap-6 md:gap-10 lg:grid-cols-2", |
| 202 | + "-mx-8 w-screen max-w-screen-2xl items-center bg-background-highlight px-8 py-10 md:py-20" |
| 203 | + )} |
| 204 | + > |
| 205 | + <div className="space-y-4"> |
| 206 | + <h2>Get paid well. Stay remote. Build the future.</h2> |
| 207 | + <p> |
| 208 | + Over half of blockchain careers are remote-first with some |
| 209 | + estimates putting the number as high as 70%. |
| 210 | + </p> |
| 211 | + <div className="flex flex-wrap gap-x-6 md:gap-x-8"> |
| 212 | + <BigNumber |
| 213 | + variant="light" |
| 214 | + value="$93 - 169K" |
| 215 | + sourceName="Glassdoor" |
| 216 | + sourceUrl="https://www.glassdoor.com/Salaries/developer-salary-SRCH_KO0%2C9.htm" |
| 217 | + lastUpdated="2025-04-10T12:00:00Z" |
| 218 | + > |
| 219 | + Avg developer salary |
| 220 | + </BigNumber> |
| 221 | + <BigNumber |
| 222 | + variant="light" |
| 223 | + value="$80 - 255K" |
| 224 | + sourceName="Web3 Jobs" |
| 225 | + sourceUrl="https://web3.career/web3-salaries/united-states" |
| 226 | + lastUpdated="2025-08-01T12:00:00Z" |
| 227 | + > |
| 228 | + Avg salary in blockchain industry |
| 229 | + </BigNumber> |
| 230 | + </div> |
| 231 | + </div> |
| 232 | + <WhyGrid /> |
| 233 | + </Section>, |
| 234 | + ]} |
| 235 | + /> |
| 236 | + |
121 | 237 | <Section
|
122 | 238 | id="resources"
|
123 | 239 | className={cn(
|
|
0 commit comments