Episode highlights per series: tag by lane, group on Episodes page, move to Finished Book when series ends; v2.9.1
Publish Container / build (push) Successful in 15m21s
Publish Container / build (push) Successful in 15m21s
- Highlights get a Series field (Lane A / Lane B / General); legacy highlights count as Lane A - Episodes page groups highlights under each series' title - Ending a series (scheduled or manual) moves only that series' highlights onto its Finished Book page; other lane and General stay - Archived highlights keep working: detail pages, sitemap, scripture index and search include them Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ddcaec0ddf
commit
652b003bd9
9 files changed
+133
-57
No files matched your search
@@ -68,6 +68,9 @@ export interface RedirectRule {
|
||||
|
||||
export interface PodcastFeaturedLink {
|
||||
id: string
|
||||
// Which series this highlight belongs to: Lane A (primary), Lane B (second), or general.
|
||||
// Missing = primary (older highlights were all about the one running series).
|
||||
lane?: 'primary' | 'second' | 'general'
|
||||
title: string
|
||||
episodeNumber?: string
|
||||
summary: string
|
||||
@@ -110,6 +113,8 @@ export interface FinishedBook {
|
||||
season: number
|
||||
// The study that goes with this book, so the card can offer both "Listen" and "Study"
|
||||
studySlug?: string
|
||||
// Episode highlights that were featured while this series was playing, kept for its page
|
||||
highlights?: PodcastFeaturedLink[]
|
||||
downloadUrl?: string
|
||||
downloadQrUrl?: string
|
||||
}
|
||||
@@ -666,3 +671,11 @@ export const DEFAULTS: SiteContent = {
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
// Highlights currently featured plus those archived onto finished books (so their detail pages keep working).
|
||||
export function getAllHighlights(content: Pick<SiteContent, 'podcastFeaturedLinks' | 'finishedBooks'>): PodcastFeaturedLink[] {
|
||||
return [
|
||||
...(content.podcastFeaturedLinks ?? []),
|
||||
...(content.finishedBooks ?? []).flatMap(book => book.highlights ?? []),
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user