import * as React from 'react' import { Body, Container, Head, Html, Preview, Section, Text, Link } from '@react-email/components' export type EnforcementDeadlineEmailProps = { daysRemaining: number | null deadlineIsoDate: string | null setupUrl: string } export function EnforcementDeadlineEmail({ daysRemaining, deadlineIsoDate, setupUrl, }: EnforcementDeadlineEmailProps) { const hasDeadline = typeof daysRemaining === 'number' && daysRemaining > 0 && typeof deadlineIsoDate === 'string' const isOverdue = !hasDeadline && typeof deadlineIsoDate === 'string' const dayLabel = daysRemaining === 1 ? 'day' : 'days' const previewText = hasDeadline ? `MFA enrollment required in ${daysRemaining} ${dayLabel}` : isOverdue ? 'MFA enrollment deadline has passed' : 'MFA enrollment required immediately' return ( {previewText}
MFA enforcement reminder {hasDeadline ? ( <> Your organization requires MFA enrollment. You have {daysRemaining} {dayLabel} left to complete setup. Deadline: {deadlineIsoDate} Open Security & MFA settings and enroll at least one MFA method before the deadline. Accounts without MFA after the deadline may lose access until enrollment is completed. ) : isOverdue ? ( <> Your MFA enrollment deadline has passed. Set up MFA immediately to keep account access. Previous deadline: {deadlineIsoDate} Open Security & MFA settings and enroll at least one MFA method now. ) : ( <> Your organization requires MFA enrollment with no grace period. Set up MFA immediately to keep account access. Open Security & MFA settings and enroll at least one MFA method now. )}
) } const body: React.CSSProperties = { backgroundColor: '#f9fafb', margin: 0, padding: '24px 0' } const container: React.CSSProperties = { backgroundColor: '#ffffff', borderRadius: 12, padding: 24, margin: '0 auto', maxWidth: 520, boxShadow: '0 1px 4px rgba(0,0,0,0.06)', } const title: React.CSSProperties = { fontSize: 20, fontWeight: 600, color: '#111827', margin: '0 0 12px' } const paragraph: React.CSSProperties = { fontSize: 14, color: '#4b5563', lineHeight: '20px', margin: '0 0 12px' } const hint: React.CSSProperties = { fontSize: 12, color: '#6b7280', marginTop: 16 } export default EnforcementDeadlineEmail