From 3580c00fa1aeac56a48181ec8144c5f6802096ff Mon Sep 17 00:00:00 2001 From: SinachPat Date: Thu, 27 Aug 2026 16:53:12 +0100 Subject: [PATCH] feat: rebuild marketing site with full component suite and preview --- marketing-site/.gitignore | 35 + marketing-site/README.md | 35 + marketing-site/components/Authors.jsx | 41 + marketing-site/components/Book3D.jsx | 35 + marketing-site/components/Capture.jsx | 22 + marketing-site/components/Contents.jsx | 29 + marketing-site/components/EmailForm.jsx | 43 + marketing-site/components/FAQ.jsx | 44 + marketing-site/components/FieldNotes.jsx | 35 + marketing-site/components/Footer.jsx | 32 + marketing-site/components/Hero.jsx | 42 + marketing-site/components/Letter.jsx | 24 + marketing-site/components/Nav.jsx | 83 ++ marketing-site/components/Recipe.jsx | 120 ++ marketing-site/components/Tiers.jsx | 50 + marketing-site/lib/useReveal.js | 36 + marketing-site/next.config.mjs | 13 + marketing-site/package-lock.json | 1644 ++++++++++++++++++++++ marketing-site/package.json | 27 + marketing-site/pages/_app.jsx | 5 + marketing-site/pages/_document.jsx | 27 + marketing-site/pages/index.jsx | 44 + marketing-site/postcss.config.mjs | 7 + marketing-site/styles/globals.css | 410 ++++++ 24 files changed, 2883 insertions(+) create mode 100644 marketing-site/.gitignore create mode 100644 marketing-site/README.md create mode 100644 marketing-site/components/Authors.jsx create mode 100644 marketing-site/components/Book3D.jsx create mode 100644 marketing-site/components/Capture.jsx create mode 100644 marketing-site/components/Contents.jsx create mode 100644 marketing-site/components/EmailForm.jsx create mode 100644 marketing-site/components/FAQ.jsx create mode 100644 marketing-site/components/FieldNotes.jsx create mode 100644 marketing-site/components/Footer.jsx create mode 100644 marketing-site/components/Hero.jsx create mode 100644 marketing-site/components/Letter.jsx create mode 100644 marketing-site/components/Nav.jsx create mode 100644 marketing-site/components/Recipe.jsx create mode 100644 marketing-site/components/Tiers.jsx create mode 100644 marketing-site/lib/useReveal.js create mode 100644 marketing-site/next.config.mjs create mode 100644 marketing-site/package-lock.json create mode 100644 marketing-site/package.json create mode 100644 marketing-site/pages/_app.jsx create mode 100644 marketing-site/pages/_document.jsx create mode 100644 marketing-site/pages/index.jsx create mode 100644 marketing-site/postcss.config.mjs create mode 100644 marketing-site/styles/globals.css diff --git a/marketing-site/.gitignore b/marketing-site/.gitignore new file mode 100644 index 0000000..94b299e --- /dev/null +++ b/marketing-site/.gitignore @@ -0,0 +1,35 @@ +# dependencies +/node_modules + +# next.js build output +/.next/ +/out/ +/build + +# misc +.DS_Store +*.pem + +# debug logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# Next.js auto-generated agent rule files (agentRules) +AGENTS.md +CLAUDE.md + +# scratch / superseded single-file previews +preview.html +redesign-preview.html +node_modules/ diff --git a/marketing-site/README.md b/marketing-site/README.md new file mode 100644 index 0000000..c62f499 --- /dev/null +++ b/marketing-site/README.md @@ -0,0 +1,35 @@ +# AIBook.fun Marketing Site + +Scaffolded for Framer import and Next.js (Cloudflare Pages / DigitalOcean). + +## Stack +- React 18 + JSX +- Tailwind CSS (v4 with @import) +- shadcn/ui-ready component structure +- SendGrid (email) + Twilio (optional SMS) +- Hosting: Cloudflare Pages / DigitalOcean + +## Framer Compatibility +These components are standard React + Tailwind. To use in Framer: +1. Copy any `.jsx` component file. +2. In Framer, add a new Code Component and paste the file contents. +3. Ensure your Framer project has Tailwind CSS configured in settings if classes don't render. +4. Import `globals.css` or copy Tailwind directives into Framer's CSS settings. + +Note: Framer Sites don't run Next.js natively. For a live site with routing (A/B tests, CMS integrations, analytics events), deploy via Next.js on Cloudflare Pages. + +## Pages scaffolded +- `pages/index.jsx` — landing (hero, the book, workflows, tiers, FAQ) +- `components/Header.jsx` +- `components/Hero.jsx` +- `components/Workflows.jsx` +- `components/Tiers.jsx` +- `components/FAQ.jsx` +- `components/Footer.jsx` + +## Key design references (from PRD / Spec) +- Utility-first pitch: "run a workflow today" (A/B test hook ready) +- 6 verticals listed in Workflows +- 3 sample tiers shown ($10 / $47yr / $4,888) +- No NFT/crypto/Web3 language (Kickstarter compliance scrubbed) +- Event tracking only (not content) — PostHog/Cloudflare Analytics slot available diff --git a/marketing-site/components/Authors.jsx b/marketing-site/components/Authors.jsx new file mode 100644 index 0000000..c302c08 --- /dev/null +++ b/marketing-site/components/Authors.jsx @@ -0,0 +1,41 @@ +const AUTHORS = [ + { tile: "RE", name: "Real Estate & Finance", role: "Market briefs, compliant summaries", status: "confirmed", label: "Co-author confirmed" }, + { tile: "CS", name: "Fractional C-Suite", role: "Strategy & board workflows", status: "confirmed", label: "Co-author confirmed" }, + { tile: "TE", name: "Technology & RAAI", role: "Agent patterns & safe defaults", status: "confirmed", label: "Co-author confirmed" }, + { tile: "HE", name: "Higher Education", role: "Teaching & research integrity", status: "tba", label: "To be announced" }, + { tile: "CO", name: "Communities", role: "Moderation & member programs", status: "tba", label: "To be announced" }, +]; + +export default function Authors() { + return ( +
+
+ Who’s writing this +

Practitioners, one per vertical.

+

+ Each chapter is owned by someone who does the work — not a generalist writing about + it. Names are announced as co-authors confirm. +

+
+ {AUTHORS.map((a) => ( +
+
{a.tile}
+

{a.name}

+
{a.role}
+
+ + {a.label} +
+
+ ))} +
+
+
Your name?
+

Contribute a workflow after launch and earn a byline in the guide.

+
+
+
+
+
+ ); +} diff --git a/marketing-site/components/Book3D.jsx b/marketing-site/components/Book3D.jsx new file mode 100644 index 0000000..21fcb66 --- /dev/null +++ b/marketing-site/components/Book3D.jsx @@ -0,0 +1,35 @@ +/** + * Pure-CSS 3D book styled as the field guide. Decorative, so aria-hidden. + * Faces (cover / spine / fore-edge / top / back) are assembled with + * transform-style: preserve-3d; see `.book3d` in globals.css. + */ +export default function Book3D() { + return ( +