"use client"; import { Suspense } from "react"; import { useParams, useSearchParams, useRouter } from "next/navigation"; const SECTIONS = [ { id: "marketing-site", label: "Marketing Site", icon: "◌", title: "Marketing Site", desc: "Your public-facing website — hero, features, pricing, blog, and landing pages. Connected to your design surface and deployed via your infrastructure.", items: ["Hero & Landing", "Features", "Pricing Page", "Blog", "Case Studies", "About"], }, { id: "communications", label: "Communications", icon: "◈", title: "Communications", desc: "Outbound messaging — product announcements, newsletters, launch emails, and drip campaigns sent to your audience.", items: ["Announcements", "Newsletter", "Launch Sequence", "Drip Campaigns"], }, { id: "channels", label: "Channels", icon: "↗", title: "Distribution Channels", desc: "Where your product gets discovered — SEO, social, Product Hunt, app stores, partnerships, and paid acquisition.", items: ["SEO & Search", "Social Media", "Product Hunt", "App Stores", "Partnerships", "Paid Ads"], }, { id: "pages", label: "Pages", icon: "▭", title: "Pages", desc: "Individual landing pages for campaigns, experiments, and specific audience segments. Build, publish, and A/B test.", items: ["Campaign Pages", "A/B Tests", "Event Pages", "Partner Pages", "Waitlist"], }, ] as const; type SectionId = typeof SECTIONS[number]["id"]; const NAV_GROUP: React.CSSProperties = { fontSize: "0.6rem", fontWeight: 700, color: "#b5b0a6", letterSpacing: "0.09em", textTransform: "uppercase", padding: "14px 12px 6px", fontFamily: "var(--font-inter), ui-sans-serif, sans-serif", }; function GrowthInner() { const params = useParams(); const searchParams = useSearchParams(); const router = useRouter(); const workspace = params.workspace as string; const projectId = params.projectId as string; const activeId = (searchParams.get("section") ?? "marketing-site") as SectionId; const active = SECTIONS.find(s => s.id === activeId) ?? SECTIONS[0]; const setSection = (id: string) => router.push(`/${workspace}/project/${projectId}/growth?section=${id}`, { scroll: false }); return (
{/* Left nav */}
Growth
{SECTIONS.map(s => { const isActive = activeId === s.id; return ( ); })}
{/* Content */}
{active.title}
{active.desc}
{/* Feature items */}
{active.items.map(item => (
{item} Soon
))}
{/* CTA */}
{active.title} is coming to VIBN
We're building this section next. Shape it by telling us what you need.
); } export default function GrowthPage() { return ( Loading…}> ); }