← back to Nineoh Guide
apps/web/app/community/page.tsx
87 lines
export const metadata = {
title: "Community",
description:
"Where 90210 fans gather — Reddit, Discord discovery, and the 9021OMG rewatch podcast. Links out to independent fan communities.",
};
type Link = { name: string; desc: string; href: string; icon: string; verified: string };
const REDDIT: Link[] = [
{
name: "r/90210",
desc: "The main 90210 subreddit — episode talk, cast news, and rewatch threads for the CW-era series and the wider franchise.",
href: "https://www.reddit.com/r/90210/",
icon: "👽",
verified: "active subreddit",
},
{
name: "Search all 90210 subreddits",
desc: "Reddit's own search for every 90210 community, including original-series and franchise subs.",
href: "https://www.reddit.com/search/?q=90210&type=sr",
icon: "🔎",
verified: "live search",
},
];
const DISCORD: Link[] = [
{
name: "Browse 90210 Discord servers",
desc: "There's no single official 90210 server, so this is an honest search of public listings — fan servers come and go, so we point you to discovery rather than a link that expires.",
href: "https://disboard.org/search?keyword=90210",
icon: "💬",
verified: "server directory",
},
];
const PODCASTS: Link[] = [
{
name: "9021OMG",
desc: "The official rewatch podcast — original stars Jennie Garth (Kelly) and Tori Spelling (Donna) revisit the series episode by episode.",
href: "https://www.google.com/search?q=9021OMG+podcast",
icon: "🎙️",
verified: "fan podcast",
},
];
function Group({ title, links }: { title: string; links: Link[] }) {
return (
<>
<h2>{title}</h2>
<div style={{ display: "grid", gap: 12, gridTemplateColumns: "repeat(auto-fill, minmax(260px, 1fr))" }}>
{links.map((l) => (
<a
key={l.href}
className="card"
href={l.href}
target="_blank"
rel="noopener noreferrer"
style={{ display: "flex", flexDirection: "column", gap: 6, color: "inherit" }}
>
<div style={{ fontSize: 26 }}>{l.icon}</div>
<strong style={{ fontFamily: "var(--font-display)", fontSize: 16 }}>
{l.name} ↗
</strong>
<span style={{ color: "var(--muted)", fontSize: 12.5, flex: 1 }}>{l.desc}</span>
<span className="pill" style={{ alignSelf: "flex-start" }}>{l.verified}</span>
</a>
))}
</div>
</>
);
}
export default function Community() {
return (
<section>
<h1>Community</h1>
<p style={{ color: "var(--muted)", fontSize: 13 }}>
Where 90210 fans actually hang out. These are independent, fan-run
communities — we link out, we don't host or moderate them.
</p>
<Group title="Reddit" links={REDDIT} />
<Group title="Discord" links={DISCORD} />
<Group title="Rewatch podcast" links={PODCASTS} />
</section>
);
}