From 21c7e373d32455c505ff6c592fa0bd358d97dec7 Mon Sep 17 00:00:00 2001 From: James Pine Date: Fri, 26 Jun 2026 14:45:35 -0700 Subject: [PATCH] Add $VOICEBOX token section below the hero --- landing/src/app/page.tsx | 4 + landing/src/components/TokenSection.tsx | 105 ++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 landing/src/components/TokenSection.tsx diff --git a/landing/src/app/page.tsx b/landing/src/app/page.tsx index b3349477..bc75a214 100644 --- a/landing/src/app/page.tsx +++ b/landing/src/app/page.tsx @@ -12,6 +12,7 @@ import {Navbar} from "@/components/Navbar"; import {Personalities} from "@/components/Personalities"; import {AppleIcon, LinuxIcon, WindowsIcon} from "@/components/PlatformIcons"; import {SupportedModels} from "@/components/SupportedModels"; +import {TokenSection} from "@/components/TokenSection"; import {TutorialsSection} from "@/components/TutorialsSection"; import {VoiceCreator} from "@/components/VoiceCreator"; import {GITHUB_REPO} from "@/lib/constants"; @@ -130,6 +131,9 @@ export default function Home() { + {/* ── $VOICEBOX token ──────────────────────────────────────── */} + + {/* ── Features ─────────────────────────────────────────────── */} diff --git a/landing/src/components/TokenSection.tsx b/landing/src/components/TokenSection.tsx new file mode 100644 index 00000000..b3ff9db4 --- /dev/null +++ b/landing/src/components/TokenSection.tsx @@ -0,0 +1,105 @@ +"use client"; + +import {ArrowUpRight, Check, Coins, Copy} from "lucide-react"; +import {useState} from "react"; +import { + TOKEN_CONTRACT_ADDRESS, + TOKEN_PUMP_URL, + TOKEN_TICKER, +} from "@/lib/constants"; + +export function TokenSection() { + const [copied, setCopied] = useState(false); + + const handleCopy = async () => { + try { + await navigator.clipboard.writeText(TOKEN_CONTRACT_ADDRESS); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch { + // Clipboard unavailable (e.g. insecure context) — silently no-op. + } + }; + + return ( +
+
+ {/* Subtle accent glow */} +
+
+
+ + {/* Header */} +
+
+ + + Official token + +
+

+ {TOKEN_TICKER} on Solana +

+

+ The official {TOKEN_TICKER} token for supporters who want to back + the project and have some fun. Voicebox is and always will be{" "} + free and open source — the token + is entirely optional and not required to use anything here. +

+
+ + {/* Contract address + CTA */} +
+
+ + Contract address + + + + Solana + +
+ +
+ {/* Address bar */} + + + {/* Buy CTA */} + + Buy on pump.fun + + +
+
+
+
+ ); +}