Neah/lib/utils/email-content.ts

46 lines
1.5 KiB
TypeScript

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.formattedContent) {
console.log('formatEmailContent: Using formattedContent');
content = email.formattedContent;
} else if (typeof email.content === 'string') {
console.log('formatEmailContent: Using direct string content');
content = email.content;
} else if (email.content && typeof email.content === 'object') {
console.log('formatEmailContent: Using object content:', email.content);
content = email.content.html || email.content.text || '';
} else {
console.log('formatEmailContent: Using fallback content');
content = email.html || email.text || '';
}
console.log('formatEmailContent: Content before sanitization:', content);
// Sanitize the content for display
const sanitizedContent = DOMPurify.sanitize(content);
console.log('formatEmailContent: Final sanitized content:', sanitizedContent);
return sanitizedContent;
} catch (error) {
console.error('formatEmailContent: Error formatting email content:', error);
return '';
}
}