function escapeHtml(text: string): string { const map: Record = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return text.replace(/[&<>"']/g, (char) => map[char]); } export function generateMaintenanceHTML( title: string | null, message: string | null, estimatedTime: string | null ): string { const safeTitle = escapeHtml(title || 'Service Temporarily Unavailable'); const safeMessage = escapeHtml(message || 'We are currently experiencing technical difficulties. Please check back soon.'); const safeEstimatedTime = estimatedTime ? escapeHtml(estimatedTime) : null; return ` ${safeTitle} 🔧 ${safeTitle} ${safeMessage} ${safeEstimatedTime ? ` Estimated completion: ${safeEstimatedTime} ` : ''} `; }
${safeMessage}