Add admin control for hero podcast art image; v1.1.28

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmert
2026-08-05 11:18:49 -04:00
parent 4c9bbee58a
commit f53dcdec4f
4 changed files with 7 additions and 2 deletions
+3
View File
@@ -850,6 +850,7 @@ const BRAND_KIT_VERIFICATION = [
] as const
const FIELDS: Array<{ key: StringField; label: string; multiline?: boolean; section: MainContentSection }> = [
{ key: 'podcastArtUrl', label: 'Hero — Podcast Art Image URL', section: 'hero' },
{ key: 'eyebrow', label: 'Hero Eyebrow Text', section: 'hero' },
{ key: 'heroTagline', label: 'Hero Tagline', section: 'hero' },
{ key: 'heroBtnSpotify', label: 'Hero — Spotify Button Label', section: 'hero' },
@@ -3187,6 +3188,8 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
{multiline
? <textarea id={`field-${key}`} value={form[key] as string} onChange={e => handleChange(key, e.target.value)} rows={4} />
: <input id={`field-${key}`} type="text" value={form[key] as string} onChange={e => handleChange(key, e.target.value)} />}
{(key.includes('ArtUrl') || key.includes('ImageUrl')) && renderImageAssetSelector(form[key] as string, value => handleChange(key, value), `field-${key}-asset`)}
{(key.includes('ArtUrl') || key.includes('ImageUrl')) && renderImagePreview(form[key] as string, `${label} preview`)}
</div>
))}
+1 -1
View File
@@ -1119,7 +1119,7 @@ function LandingPage({ content }: { content: SiteContent }) {
<div className="hero-art">
<div className="art-glow" aria-hidden="true" />
<img
src="/images/podcast-art.jpeg"
src={content.podcastArtUrl || '/images/podcast-art.jpeg'}
alt="Verse by Verse with Nate podcast artwork"
className="podcast-art"
/>
+2
View File
@@ -101,6 +101,7 @@ export interface LegalSettings {
export interface SiteContent {
// ── Hero ──
podcastArtUrl: string
eyebrow: string
heroTagline: string
heroBtnSpotify: string
@@ -275,6 +276,7 @@ export interface SiteContent {
}
export const DEFAULTS: SiteContent = {
podcastArtUrl: '/images/podcast-art.jpeg',
eyebrow: 'A Journey Through Scripture',
heroTagline: "Exploring God's Word one verse at a time",
heroBtnSpotify: 'Listen on Spotify',