|
1 | | -import { ComingSoon } from "@/components/coming-soon"; |
| 1 | +import { MessagesSquare, Github, CalendarDays, Sparkles, LifeBuoy, Trophy } from "lucide-react"; |
| 2 | +import { PageHero } from "@/components/section"; |
2 | 3 | import { Seo } from "@/components/seo"; |
| 4 | +import { Faq, FeatureGrid, ProgramCta, StatusNote, Timeline } from "@/components/program-page"; |
| 5 | +import { breadcrumbSchema, webPageSchema } from "@/lib/seo"; |
| 6 | + |
| 7 | +const title = "Student Community - GhostCode Dynamics"; |
| 8 | +const description = |
| 9 | + "A community space for student builders learning to ship real software — code reviews, build logs, study groups and honest feedback."; |
| 10 | +const path = "/community"; |
| 11 | + |
| 12 | +const PILLARS = [ |
| 13 | + { |
| 14 | + icon: <MessagesSquare className="h-5 w-5" />, |
| 15 | + title: "Ask anything", |
| 16 | + desc: "A no-ego help channel. Beginner questions are welcome; 'just Google it' is not an accepted answer.", |
| 17 | + }, |
| 18 | + { |
| 19 | + icon: <Github className="h-5 w-5" />, |
| 20 | + title: "Code reviews", |
| 21 | + desc: "Post a repo, get real feedback on structure, naming, accessibility and security — not just style nits.", |
| 22 | + }, |
| 23 | + { |
| 24 | + icon: <Sparkles className="h-5 w-5" />, |
| 25 | + title: "Build in public", |
| 26 | + desc: "Weekly build logs where members share progress, blockers and what they shipped.", |
| 27 | + }, |
| 28 | + { |
| 29 | + icon: <CalendarDays className="h-5 w-5" />, |
| 30 | + title: "Study groups", |
| 31 | + desc: "Small accountability pods working through the same track at the same pace.", |
| 32 | + }, |
| 33 | + { |
| 34 | + icon: <Trophy className="h-5 w-5" />, |
| 35 | + title: "Mini challenges", |
| 36 | + desc: "Short, scoped builds with a deadline. Best submissions get featured and reviewed on stream.", |
| 37 | + }, |
| 38 | + { |
| 39 | + icon: <LifeBuoy className="h-5 w-5" />, |
| 40 | + title: "Career help", |
| 41 | + desc: "Resume and portfolio teardowns, plus referrals to internships and collaborator work when they open.", |
| 42 | + }, |
| 43 | +]; |
| 44 | + |
| 45 | +const PHASES = [ |
| 46 | + { |
| 47 | + label: "Phase 01", |
| 48 | + title: "Invite-only core", |
| 49 | + desc: "A small founding group of active student builders sets the tone before we open the doors.", |
| 50 | + }, |
| 51 | + { |
| 52 | + label: "Phase 02", |
| 53 | + title: "Public channels", |
| 54 | + desc: "Help, reviews and build logs open to anyone learning seriously, with light moderation.", |
| 55 | + }, |
| 56 | + { |
| 57 | + label: "Phase 03", |
| 58 | + title: "Programme integration", |
| 59 | + desc: "Academy cohorts, internships and Labs write-ups all get a home inside the community.", |
| 60 | + }, |
| 61 | +]; |
| 62 | + |
| 63 | +const FAQS = [ |
| 64 | + { |
| 65 | + q: "Is the community live?", |
| 66 | + a: "Not yet. We're assembling a small founding group first so it starts with real conversation rather than an empty server.", |
| 67 | + }, |
| 68 | + { |
| 69 | + q: "Does it cost anything?", |
| 70 | + a: "The core community will be free. Paid programmes get private channels, but help and reviews stay open.", |
| 71 | + }, |
| 72 | + { |
| 73 | + q: "Do I need to be a student?", |
| 74 | + a: "It's built for students and self-taught beginners, but anyone learning in good faith is welcome.", |
| 75 | + }, |
| 76 | + { |
| 77 | + q: "What are the rules?", |
| 78 | + a: "Be useful, be kind, credit your sources, and no recruitment spam. That's about it.", |
| 79 | + }, |
| 80 | +]; |
3 | 81 |
|
4 | 82 | export default function Page() { |
5 | 83 | return ( |
6 | 84 | <> |
7 | | - <Seo title={"Student Community - GhostCode Dynamics"} description={"A future community space for students learning to build} path={ship and grow together."} robots="noindex, follow" /> |
8 | | - <ComingSoon |
9 | | - module="Community" |
10 | | - title="A home for student builders." |
11 | | - description="A future community space for students learning to build, ship and grow — together." |
12 | | - /> |
| 85 | + <Seo |
| 86 | + title={title} |
| 87 | + description={description} |
| 88 | + path={path} |
| 89 | + schemas={[ |
| 90 | + webPageSchema(title, description, path), |
| 91 | + breadcrumbSchema([ |
| 92 | + { name: "Home", path: "/" }, |
| 93 | + { name: "Community", path }, |
| 94 | + ]), |
| 95 | + ]} |
| 96 | + /> |
| 97 | + <PageHero |
| 98 | + eyebrow="Community · Forming" |
| 99 | + title="A home for student builders." |
| 100 | + description="A space for students learning to build, ship and grow together — code reviews, build logs and honest feedback from people slightly ahead of you." |
| 101 | + > |
| 102 | + <StatusNote>Founding group forming · Invites first</StatusNote> |
| 103 | + </PageHero> |
| 104 | + |
| 105 | + <FeatureGrid |
| 106 | + eyebrow="Inside" |
| 107 | + title="What happens here" |
| 108 | + description="Structured enough to be useful, small enough to still feel human." |
| 109 | + items={PILLARS} |
| 110 | + /> |
| 111 | + |
| 112 | + <Timeline eyebrow="Roadmap" title="How it opens up" items={PHASES} /> |
| 113 | + |
| 114 | + <Faq items={FAQS} /> |
| 115 | + |
| 116 | + <ProgramCta |
| 117 | + title="Claim a founding seat" |
| 118 | + description="Tell us what you're building right now. Founding members help shape the channels, challenges and pace." |
| 119 | + primaryLabel="Request an invite" |
| 120 | + secondaryLabel="Read the blog" |
| 121 | + secondaryTo="/blog" |
| 122 | + /> |
13 | 123 | </> |
14 | 124 | ); |
15 | 125 | } |
0 commit comments