Scripture Index: verse of the week (admin override or weekly rotation through covered passages); v2.45.0
Publish Container / build (push) Successful in 17m33s
Publish Container / build (push) Successful in 17m33s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e9d9dd0d50
commit
a1adfa0ef1
6 files changed
+75
-4
No files matched your search
@@ -884,6 +884,7 @@ const ADMIN_SECTION_LINKS: Partial<Record<AdminView, AdminSectionLink[]>> = {
|
||||
{ id: 'global-header', label: 'Header' },
|
||||
{ id: 'global-platforms', label: 'Platform URLs' },
|
||||
{ id: 'global-banner', label: 'Analytics Banner' },
|
||||
{ id: 'global-verse', label: 'Verse of the Week' },
|
||||
{ id: 'global-welcome-email', label: 'Welcome Email' },
|
||||
],
|
||||
'start-here': [
|
||||
@@ -1027,6 +1028,7 @@ const FIELDS: Array<{ key: StringField; label: string; multiline?: boolean; sect
|
||||
{ key: 'platformCreatorUrl', label: 'Platform — Creator Profile URL', section: 'global' },
|
||||
{ key: 'platformKofiUrl', label: 'Platform — Ko-fi URL', section: 'global' },
|
||||
{ key: 'platformKofiQrUrl', label: 'Platform — Ko-fi QR Code Image URL', section: 'global' },
|
||||
{ key: 'verseOfTheWeek', label: 'Scripture Index — Verse of the Week (optional)', section: 'global' },
|
||||
{ key: 'welcomeEmailSubject', label: 'Welcome Email — Subject', section: 'global' },
|
||||
{ key: 'welcomeEmailGreetingPrefix', label: 'Welcome Email — Greeting Prefix', section: 'global' },
|
||||
{ key: 'welcomeEmailIntro', label: 'Welcome Email — Intro Paragraph', multiline: true, section: 'global' },
|
||||
@@ -6436,6 +6438,19 @@ const [dashboardNow, setDashboardNow] = useState(() => new Date())
|
||||
</div>
|
||||
))}
|
||||
|
||||
</>}
|
||||
{tabOf('global', 'global-footer') === 'global-verse' && <>
|
||||
<div className="admin-panel-subhead" id="global-verse"><h3>Verse of the Week</h3></div>
|
||||
<div className="admin-field">
|
||||
<label htmlFor="field-verseOfTheWeek">Verse of the Week (optional)</label>
|
||||
<input id="field-verseOfTheWeek" type="text" placeholder="Titus 2:11-12" value={(form.verseOfTheWeek as string) ?? ''} onChange={e => handleChange('verseOfTheWeek', e.target.value)} />
|
||||
<p className="admin-field-hint">Shown at the top of the Scripture Index. Leave blank and the site picks a different covered passage each week automatically. Use a full reference with the book name.</p>
|
||||
{(() => {
|
||||
const vowProblem = checkPassageReference(String(form.verseOfTheWeek ?? ''), '')
|
||||
return vowProblem ? <p className="admin-field-warning" role="alert" style={{ color: '#e0a030', fontSize: '0.85rem', margin: '0.35rem 0 0' }}>⚠ {vowProblem}</p> : null
|
||||
})()}
|
||||
</div>
|
||||
|
||||
</>}
|
||||
{tabOf('global', 'global-footer') === 'global-welcome-email' && <>
|
||||
<div className="admin-panel-subhead" id="global-welcome-email"><h3>Welcome Email</h3></div>
|
||||
|
||||
Reference in new issue
Block a user