+
+
updateStudyProgram(activeStudy.id, 'imageUrl', e.target.value)} />
+ {renderImageAssetSelector(activeStudy.imageUrl ?? '', value => updateStudyProgram(activeStudy.id, 'imageUrl', value), `study-image-${activeStudy.id}-asset`)}
+ {renderImagePreview(activeStudy.imageUrl ?? '', `${activeStudy.title || 'Study'} cover`)}
+
Shown as the backdrop of this study’s featured card on the homepage. A wide or square image works best.
+
updateStudyProgram(activeStudy.id, 'homepageEyebrow', e.target.value)} />
diff --git a/src/App.css b/src/App.css
index 9ff5443..133110e 100644
--- a/src/App.css
+++ b/src/App.css
@@ -13904,3 +13904,7 @@ a.study-track-card:hover {
.home-ways { grid-template-columns: 1fr; }
.home-feature { min-height: 260px; padding: 1.6rem; }
}
+
+.home-feature--image { background-size: cover; background-position: center; }
+.home-feature--image h3 { text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6); }
+.home-feature--image p { color: #d9ceb0; }
diff --git a/src/App.tsx b/src/App.tsx
index 26f9af5..8a23068 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1364,7 +1364,7 @@ function LandingPage({ content }: { content: SiteContent }) {
{featuredStudy && (
-
+
{featuredStudy.homepageEyebrow || 'Study'}
{featuredStudy.showNewTag && {featuredStudy.newTagLabel || 'NEW'}}
diff --git a/src/content.ts b/src/content.ts
index 815a5fb..92fdcd1 100644
--- a/src/content.ts
+++ b/src/content.ts
@@ -11,6 +11,8 @@ export interface StudyProgram {
description: string
bibleBook?: string
homepageEyebrow?: string
+ // Cover image for the study, used as the backdrop of the featured card on the homepage
+ imageUrl?: string
showOnHomepage?: boolean
showNewTag?: boolean
newTagLabel?: string