import DOMPurify from 'dompurify'; export function formatEmailContent(email: any): string { if (!email) { console.log('formatEmailContent: No email provided'); return ''; } try { console.log('formatEmailContent: Raw email content:', { content: email.content, html: email.html, text: email.text, formattedContent: email.formattedContent }); // Get the content in order of preference let content = ''; if (email.content && typeof email.content === 'object') { console.log('formatEmailContent: Using object content:', email.content); content = email.content.html || email.content.text || ''; } else if (typeof email.content === 'string') { console.log('formatEmailContent: Using direct string content'); content = email.content; } else if (email.html) { console.log('formatEmailContent: Using html content'); content = email.html; } else if (email.text) { console.log('formatEmailContent: Using text content'); content = email.text; } else if (email.formattedContent) { console.log('formatEmailContent: Using formattedContent'); content = email.formattedContent; } console.log('formatEmailContent: Content before sanitization:', content); // Sanitize the content for display while preserving formatting const sanitizedContent = DOMPurify.sanitize(content, { ADD_TAGS: ['style', 'table', 'thead', 'tbody', 'tr', 'td', 'th'], ADD_ATTR: ['class', 'style', 'dir', 'colspan', 'rowspan'], ALLOW_DATA_ATTR: false }); console.log('formatEmailContent: Final sanitized content:', sanitizedContent); return sanitizedContent; } catch (error) { console.error('formatEmailContent: Error formatting email content:', error); return ''; } }