[object Object]

← 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 →