Enrollment Required
-Enroll before entering lessons
-You must enroll in this study before opening lessons or notes.
-diff --git a/package.json b/package.json index 73c0702..90ae037 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "siteforge", "private": true, - "version": "2.37.0", + "version": "2.38.0", "type": "module", "scripts": { "dev": "vite", diff --git a/server.js b/server.js index aa17349..f28862f 100644 --- a/server.js +++ b/server.js @@ -102,7 +102,7 @@ app.use((_req, res, next) => { "font-src 'self' https://fonts.gstatic.com", "img-src 'self' data: https:", "media-src 'self' https:", - "frame-src https:", + "frame-src 'self' https:", "connect-src 'self' https:", ].join('; '), ) diff --git a/server/routes/newsletter.js b/server/routes/newsletter.js index 21a0173..b34feb7 100644 --- a/server/routes/newsletter.js +++ b/server/routes/newsletter.js @@ -88,15 +88,22 @@ table[align="left"] { float: none !important; margin-left: auto !important; marg ` + const topBar = ` +
` + const ctaBlock = `| + | ||
|
Resources
-The download you requested is not available right now.
- Back to Resources -Resources
+The download you requested is not available right now.
+Episode {episode.episodeNumber}
- )} -{episode.summary}
} +Episode {episode.episodeNumber}
} +{episode.summary}
} {(episode.embedUrl || episode.url) && ( -{episode.showNotesSummary}
- : episode.showNotes && !(episode.showNotesThemes ?? []).length &&{episode.showNotes}
- } - {(episode.showNotesThemes ?? []).length > 0 && ( -{q}- ))} -
{notesText}
+{q})} +
Season {book.season}
-{book.description}
} -Season {book.season}{!loading && episodes.length > 0 ? ` · ${episodes.length} episodes` : ''}
+{book.description}
} +{host.role || 'Host'}
+{para.replace(/\n/g, ' ')}
- ))} - {(nuggets.spotifyUrl || nuggets.appleUrl) && ( -Listen to {nuggets.title}
-{para.replace(/\n/g, ' ')}
+ ))} + {(nuggets.spotifyUrl || nuggets.appleUrl) && ( +Listen to {nuggets.title}
+Also on {nuggets.title}
+Message Received
-- Your message was sent successfully. We appreciate you reaching out and will get back to you soon. -
-Returning to the main site in {secondsLeft} seconds...
- +Message received
+Your message was sent. We appreciate you reaching out and will get back to you soon.
+Returning to the home page in {secondsLeft}s
+Verse by Verse with Nate
-- Get ministry updates and new episode announcements by email. -
- -{errorMsg}
} + + +Prefer to browse first? Read past issues
+ ) } -function SubscribeThankYouPage() { +function SubscribeThankYouPage({ content }: { content: SiteContent }) { return ( -Verse by Verse with Nate
-- Thank you for subscribing. You will receive future ministry updates and episode announcements. -
- Back to Site +Verse by Verse with Nate
+Thank you for subscribing. You’ll receive new episode announcements and ministry updates.
+Verse by Verse with Nate
-{line}
))} - Back to Site -This certificate link is invalid or has been removed.
- Back to Site -Certificate
+This certificate link is invalid or has been removed.
+Admin Preview
-Only signed-in admins can view this page.
+Only signed-in admins can view this page.
Admin Preview
-Sign into admin and save a draft first.
- Back to Admin +Sign into admin and save a draft first.
+404
-
- The path
+ Thanks! Nate will look into it. Free Student Account Free Student Account Verifying… Your email address is verified. Thanks for confirming — you're all set. Checking your link… Your email address is verified. You’re all set. {message} Study Hub The study you requested is not available yet. Study Hub The study you requested is not available yet. Online Bible Class {study.description} 🎉 You've completed this study. Your lessons, notes and certificate are yours to keep. Online Bible Class {study.description} {enrollMessage} {enrollMessage} Enrollment Required You must enroll in this study before opening lessons or notes. Planned Use the admin Studies editor to add section lessons and publish when ready. Course Lessons Lesson {lessonNumber} {section.summary} {section.reference} Focus question {getPrimaryQuestion(section)} {section.reference} {section.summary} Focus: {getPrimaryQuestion(section)} Study Hub The section you requested is not available yet. {study.title} {releaseDateDisplay ? `This lesson will be available on ${releaseDateDisplay}.` : 'This lesson will be available soon.'} {study.title} Loading lesson... Lesson {lessonNumber} of {sections.length} {section.reference} {section.summary} {section.summary}{location.pathname}{' '}
- doesn't exist — it may have moved or been removed.
+ Page not found
+ {location.pathname} doesn’t exist. It may have moved or been removed.
Reset Your Password
@@ -1549,6 +1550,7 @@ export function StudyResetPasswordPage() {
Back to Sign In
Verify Your Email
+ {status === 'ok' ? 'Email Verified' : status === 'error' ? 'Verification Problem' : 'Verifying Your Email'}
- {status === 'checking' && Study not found
- Study not found
+ {study.title}
- {study.title}
+ Enroll before entering lessons
- Lessons are being prepared
- {study.title}
-
-
Chapter {chapter}
+
+
- Chapter {chapter}
{enrolled && !progressLoading
? `${chapterDone} of ${chapterSections.length} completed`
: `${chapterSections.length} ${chapterSections.length === 1 ? 'lesson' : 'lessons'}`}
{section.title}
{isNew && New}
{coming && Coming {getReleaseDateDisplay(section)}}
{!coming && !enrolled && Enroll to open}
{lockedByProgress && Finish the previous lesson first}
- {enrolled && !lockedByProgress && completed && (
-
-
- Completed
-
- )}
{section.title}
- Section not found
Lesson Coming Soon
{section.title}
- {section.title}
+ {section.summary &&