← back to Nineoh Guide
Add Fan Club — cast-hosted podcasts (90210MG, misSPELLING, I Choose Me, Oldish, Let's Be Clear) to Watch tab
7a969e04f104630d56fa414cd651d936456a0365 · 2026-08-05 16:06:07 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit 7a969e04f104630d56fa414cd651d936456a0365
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Aug 5 16:06:07 2026 -0700
Add Fan Club — cast-hosted podcasts (90210MG, misSPELLING, I Choose Me, Oldish, Let's Be Clear) to Watch tab
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
apps/mobile/App.tsx | 132 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 123 insertions(+), 9 deletions(-)
diff --git a/apps/mobile/App.tsx b/apps/mobile/App.tsx
index 2f10796..7cba875 100644
--- a/apps/mobile/App.tsx
+++ b/apps/mobile/App.tsx
@@ -99,22 +99,17 @@ const MEDIA: { section: string; items: MediaLink[] }[] = [
],
},
{
- section: "🎧 Podcasts",
+ section: "🎧 More podcasts",
items: [
{
- label: "9021OMG — Jennie Garth & Tori Spelling",
- sub: "The official rewatch podcast",
- url: "https://podcasts.apple.com/us/search?term=9021OMG",
- },
- {
- label: "All 90210 rewatch podcasts",
+ label: "Browse all 90210 podcasts",
sub: "Apple Podcasts",
url: "https://podcasts.apple.com/us/search?term=beverly%20hills%2090210",
},
{
- label: "Listen on Spotify",
+ label: "90210 podcasts on Spotify",
sub: "Spotify",
- url: "https://open.spotify.com/search/9021OMG",
+ url: "https://open.spotify.com/search/beverly%20hills%2090210",
},
],
},
@@ -150,6 +145,60 @@ const MEDIA: { section: string; items: MediaLink[] }[] = [
},
];
+// Fan Club — the REAL podcasts hosted by members of the 90210 cast.
+// Every Apple Podcasts link is a verified canonical show URL (/id<number>) so
+// none 404; Spotify uses a search URL (same "never fabricate a deep link" rule).
+type CastPodcast = {
+ show: string;
+ host: string;
+ character: string;
+ note: string;
+ apple: string;
+ spotify: string;
+};
+const CAST_PODCASTS: CastPodcast[] = [
+ {
+ show: "90210MG",
+ host: "Jennie Garth",
+ character: "Kelly Taylor",
+ note: "The official Beverly Hills, 90210 rewatch podcast — episode-by-episode, with cast guests.",
+ apple: "https://podcasts.apple.com/us/podcast/90210mg/id1534142827",
+ spotify: "https://open.spotify.com/search/90210MG",
+ },
+ {
+ show: "misSPELLING",
+ host: "Tori Spelling",
+ character: "Donna Martin",
+ note: "Tori bares all — candid, funny, unfiltered stories from her life on and off the show.",
+ apple: "https://podcasts.apple.com/us/podcast/misspelling/id1738355230",
+ spotify: "https://open.spotify.com/search/misSPELLING%20Tori%20Spelling",
+ },
+ {
+ show: "I Choose Me with Jennie Garth",
+ host: "Jennie Garth",
+ character: "Kelly Taylor",
+ note: "Jennie puts herself first — weekly conversations on reinvention, family and self-worth.",
+ apple: "https://podcasts.apple.com/us/podcast/id1347626043",
+ spotify: "https://open.spotify.com/search/I%20Choose%20Me%20Jennie%20Garth",
+ },
+ {
+ show: "Oldish",
+ host: "Brian Austin Green",
+ character: "David Silver",
+ note: "Brian co-hosts with Randy Spelling & Sharna Burgess — age-old questions, new-age answers.",
+ apple: "https://podcasts.apple.com/us/podcast/oldish/id1706570295",
+ spotify: "https://open.spotify.com/search/Oldish%20Brian%20Austin%20Green",
+ },
+ {
+ show: "Let's Be Clear with Shannen Doherty",
+ host: "Shannen Doherty",
+ character: "Brenda Walsh · 1971–2024",
+ note: "Shannen's own words — honest, moving conversations she recorded and shared with fans.",
+ apple: "https://podcasts.apple.com/us/podcast/lets-be-clear-with-shannen-doherty/id1718531401",
+ spotify: "https://open.spotify.com/search/Let's%20Be%20Clear%20Shannen%20Doherty",
+ },
+];
+
type CastMember = {
id: string;
showId: string | null;
@@ -705,6 +754,38 @@ export default function App() {
Curated links out to YouTube, podcast apps and streaming guides. An
unofficial fan guide — not affiliated with or endorsed by the show.
</Text>
+
+ {/* Fan Club — the real podcasts hosted by the 90210 cast */}
+ <Text style={styles.fanClubTitle}>🎙 Fan Club</Text>
+ <Text style={styles.fanClubBlurb}>
+ Podcasts hosted by the cast themselves — tap to listen.
+ </Text>
+ {CAST_PODCASTS.map((p) => (
+ <View key={p.show} style={styles.podCard}>
+ <Text style={styles.podShow}>{p.show}</Text>
+ <Text style={styles.podHost}>
+ {p.host} <Text style={styles.podChar}>· {p.character}</Text>
+ </Text>
+ <Text style={styles.podNote}>{p.note}</Text>
+ <View style={styles.podLinks}>
+ <Pressable
+ onPress={() => Linking.openURL(p.apple)}
+ style={[styles.podBtn, styles.podBtnApple]}
+ hitSlop={6}
+ >
+ <Text style={styles.podBtnAppleText}> Apple Podcasts ↗</Text>
+ </Pressable>
+ <Pressable
+ onPress={() => Linking.openURL(p.spotify)}
+ style={[styles.podBtn, styles.podBtnSpotify]}
+ hitSlop={6}
+ >
+ <Text style={styles.podBtnSpotifyText}>♫ Spotify ↗</Text>
+ </Pressable>
+ </View>
+ </View>
+ ))}
+
{MEDIA.map((g) => (
<View key={g.section}>
<Text style={styles.mediaGroup}>{g.section}</Text>
@@ -831,6 +912,39 @@ const styles = StyleSheet.create({
marginTop: 16,
marginBottom: 8,
},
+ // Fan Club — cast-hosted podcasts
+ fanClubTitle: {
+ fontSize: 16,
+ fontWeight: "800",
+ color: "#7b3f6e",
+ marginTop: 4,
+ marginBottom: 2,
+ },
+ fanClubBlurb: { fontSize: 12, color: "#8a6d8a", marginBottom: 10 },
+ podCard: {
+ backgroundColor: "rgba(255,255,255,0.6)",
+ borderWidth: 1,
+ borderColor: "rgba(123,63,110,0.25)",
+ borderRadius: 14,
+ padding: 14,
+ marginBottom: 10,
+ },
+ podShow: { fontSize: 15, fontWeight: "700", color: "#2b1e3a" },
+ podHost: { fontSize: 13, fontWeight: "600", color: "#7b3f6e", marginTop: 3 },
+ podChar: { fontSize: 12, fontWeight: "400", color: "#8a6d8a" },
+ podNote: { fontSize: 12.5, color: "#4a3a52", marginTop: 6, lineHeight: 18 },
+ podLinks: { flexDirection: "row", gap: 8, marginTop: 10 },
+ podBtn: {
+ borderRadius: 8,
+ paddingVertical: 7,
+ paddingHorizontal: 12,
+ alignItems: "center",
+ justifyContent: "center",
+ },
+ podBtnApple: { backgroundColor: "#2b1e3a" },
+ podBtnAppleText: { color: "#fff6ec", fontSize: 12, fontWeight: "700" },
+ podBtnSpotify: { backgroundColor: "#1DB954" },
+ podBtnSpotifyText: { color: "#08240f", fontSize: 12, fontWeight: "700" },
empty: { fontSize: 14, color: "#8a1c1c", lineHeight: 20 },
signInCard: {
backgroundColor: "rgba(30,20,48,0.04)",
← 702110a analytics: wire Firebase Analytics (→GA4) + Crashlytics into
·
back to Nineoh Guide
·
auto-save: 2026-08-05T16:13:44 (2 files) — pnpm-lock.yaml pn 6803c9d →