One companion study guide per series; v2.9.8
Publish Container / build (push) Successful in 21m12s

- Second series gets its own guide (Resources page card, download page, admin fields)
- When a series ends (scheduled or manual) its guide moves onto its Finished Book, which shows a guide button; the main series' guide is cleared unless the launch supplies a new one
- Lane B launch schedule can supply the incoming series' guide
- Download lookup covers second-series and finished-book guides; guide URLs are sanitized on save and on use

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 5.5 committed 2026-10-08 16:00:52 -04:00
1 parent 39691aedb3
commit e2150e1cd7
7 files changed
+244 -4

No files matched your search

+16
View File
@@ -94,6 +94,17 @@ export interface Testimonial {
source?: string
}
// A series' companion study guide (the main series' guide lives in the studyGuide* fields)
export interface StudyGuide {
title: string
description?: string
downloadUrl?: string
amazonUrl?: string
amazonLabel?: string
appleBooksUrl?: string
appleBooksLabel?: string
}
export interface SecondSeries {
label: string
title: string
@@ -103,6 +114,7 @@ export interface SecondSeries {
listenBtnLabel: string
studySlug?: string
season?: number
guide?: StudyGuide
}
export interface FinishedBook {
@@ -115,6 +127,8 @@ export interface FinishedBook {
studySlug?: string
// Episode highlights that were featured while this series was playing, kept for its page
highlights?: PodcastFeaturedLink[]
// The series' companion study guide, kept so it stays available after the series ends
guide?: StudyGuide
downloadUrl?: string
downloadQrUrl?: string
}
@@ -128,6 +142,8 @@ export interface ScheduledSeriesTransition {
newSeason: number
// Study that opens (planned → active) when this series launches; the ending series' study becomes Complete
newStudySlug?: string
// Companion guide for the incoming series (second series lane only; the main series uses the newStudyGuide* fields)
newGuide?: StudyGuide
// Start Here section (optional)
newStartHereHeading?: string
newStartHereIntro?: string