From 1e24eaa9af49c638f8605c9c731c883fc069e996 Mon Sep 17 00:00:00 2001
From: nmemmert
Date: Wed, 22 Jul 2026 14:36:41 -0400
Subject: [PATCH] Replace Spotify show embed on /episodes with custom player;
v1.1.6
LatestEpisodePlayer fetches the most recent episode from /api/episodes
(Anchor RSS) and renders it with the centered cinematic layout. The
Spotify show iframe is removed; platform buttons and HeadlinerWidget
remain below as before.
Co-Authored-By: Claude Sonnet 4.6
---
package.json | 2 +-
src/App.tsx | 33 ++++++++++++++++++++++-----------
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/package.json b/package.json
index 08c5823..27a81cd 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "siteforge",
"private": true,
- "version": "1.1.5",
+ "version": "1.1.6",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/src/App.tsx b/src/App.tsx
index e31370b..105ce29 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1578,6 +1578,27 @@ function FinishedSeriesPage({ content }: { content: SiteContent }) {
)
}
+function LatestEpisodePlayer({ content }: { content: SiteContent }) {
+ const [audioUrl, setAudioUrl] = useState('')
+ const [title, setTitle] = useState('')
+
+ useEffect(() => {
+ fetch('/api/episodes')
+ .then(r => r.ok ? r.json() : Promise.reject())
+ .then((data: { episodes?: { title: string; audioUrl: string }[] }) => {
+ const latest = data.episodes?.[0]
+ if (latest?.audioUrl) {
+ setAudioUrl(latest.audioUrl)
+ setTitle(latest.title)
+ }
+ })
+ .catch(() => {})
+ }, [])
+
+ if (!audioUrl) return
+ return
+}
+
function EpisodesPage({ content }: { content: SiteContent }) {
const siteTitle = content.seo?.title || DEFAULTS.seo.title
usePageMeta(
@@ -1596,17 +1617,7 @@ function EpisodesPage({ content }: { content: SiteContent }) {
{content.episodesSeoIntro || 'Verse by Verse with Nate is an expository Bible teaching podcast where we go through Scripture one verse at a time. Each episode digs into the text carefully and practically, helping you understand what the Bible says, what it means, and how to live it out. New episodes released regularly — subscribe on Spotify or your favorite podcast platform.'}
-
+