cool stuff

This commit is contained in:
nmemmert
2026-06-03 14:14:25 -04:00
parent a2c4924191
commit 68f6212e9b
7 changed files with 665 additions and 43 deletions
+9
View File
@@ -461,6 +461,12 @@ function EmailTemplatesPanel({
fieldKeys={['emailChangeSubject','emailChangeBody','emailChangeCtaLabel']}
openKey="email-change" />
<EmailTemplateCard type="transactional" icon="📟" title="Two-Factor Auth — Email Sign-In Code"
trigger="A student with email-based 2FA signs in, or requests a resend during login"
autoVars="The 6-digit code is auto-generated and inserted between the body text and expiry note — not editable"
fieldKeys={['twoFaOtpEmailSubject','twoFaOtpEmailBody','twoFaOtpEmailExpiry']}
openKey="2fa-otp" />
{renderSaveStatus()}
</section>
)
@@ -939,6 +945,9 @@ const FIELDS: Array<{ key: StringField; label: string; multiline?: boolean; sect
{ key: 'emailChangeSubject', label: 'Subject Line', section: 'email-templates' },
{ key: 'emailChangeBody', label: 'Body Text', multiline: true, section: 'email-templates' },
{ key: 'emailChangeCtaLabel', label: 'Button Label', section: 'email-templates' },
{ key: 'twoFaOtpEmailSubject', label: 'Subject Line', section: 'email-templates' },
{ key: 'twoFaOtpEmailBody', label: 'Body Text (shown above the code)', multiline: true, section: 'email-templates' },
{ key: 'twoFaOtpEmailExpiry', label: 'Expiry / Security Note (shown below the code)', multiline: true, section: 'email-templates' },
]
function normalizeStudies(siteContent: SiteContent): StudyProgram[] {