courrier multi account restore compose
This commit is contained in:
parent
38d11a5dfd
commit
7963852af6
@ -17,24 +17,31 @@ export function formatEmailContent(email: any): string {
|
|||||||
// Get the content in order of preference
|
// Get the content in order of preference
|
||||||
let content = '';
|
let content = '';
|
||||||
|
|
||||||
if (email.formattedContent) {
|
if (email.content && typeof email.content === 'object') {
|
||||||
console.log('formatEmailContent: Using formattedContent');
|
console.log('formatEmailContent: Using object content:', email.content);
|
||||||
content = email.formattedContent;
|
content = email.content.html || email.content.text || '';
|
||||||
} else if (typeof email.content === 'string') {
|
} else if (typeof email.content === 'string') {
|
||||||
console.log('formatEmailContent: Using direct string content');
|
console.log('formatEmailContent: Using direct string content');
|
||||||
content = email.content;
|
content = email.content;
|
||||||
} else if (email.content && typeof email.content === 'object') {
|
} else if (email.html) {
|
||||||
console.log('formatEmailContent: Using object content:', email.content);
|
console.log('formatEmailContent: Using html content');
|
||||||
content = email.content.html || email.content.text || '';
|
content = email.html;
|
||||||
} else {
|
} else if (email.text) {
|
||||||
console.log('formatEmailContent: Using fallback content');
|
console.log('formatEmailContent: Using text content');
|
||||||
content = email.html || email.text || '';
|
content = email.text;
|
||||||
|
} else if (email.formattedContent) {
|
||||||
|
console.log('formatEmailContent: Using formattedContent');
|
||||||
|
content = email.formattedContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('formatEmailContent: Content before sanitization:', content);
|
console.log('formatEmailContent: Content before sanitization:', content);
|
||||||
|
|
||||||
// Sanitize the content for display
|
// Sanitize the content for display while preserving formatting
|
||||||
const sanitizedContent = DOMPurify.sanitize(content);
|
const sanitizedContent = DOMPurify.sanitize(content, {
|
||||||
|
ADD_TAGS: ['style'],
|
||||||
|
ADD_ATTR: ['class', 'style', 'dir'],
|
||||||
|
ALLOW_DATA_ATTR: false
|
||||||
|
});
|
||||||
|
|
||||||
console.log('formatEmailContent: Final sanitized content:', sanitizedContent);
|
console.log('formatEmailContent: Final sanitized content:', sanitizedContent);
|
||||||
|
|
||||||
|
|||||||
@ -94,6 +94,11 @@ export interface EmailMessage {
|
|||||||
contentFetched?: boolean;
|
contentFetched?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface EmailContent {
|
||||||
|
html?: string;
|
||||||
|
text?: string;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format email addresses for display
|
* Format email addresses for display
|
||||||
*/
|
*/
|
||||||
@ -258,7 +263,16 @@ export function formatReplyEmail(email: EmailMessage, type: 'reply' | 'reply-all
|
|||||||
const quoteHeader = `<div style="font-weight: 400; color: #555; margin: 20px 0 8px 0; font-size: 13px;">On ${formattedDate}, ${fromText} wrote:</div>`;
|
const quoteHeader = `<div style="font-weight: 400; color: #555; margin: 20px 0 8px 0; font-size: 13px;">On ${formattedDate}, ${fromText} wrote:</div>`;
|
||||||
|
|
||||||
// Get and sanitize original content (sanitization preserves content direction)
|
// Get and sanitize original content (sanitization preserves content direction)
|
||||||
const originalContent = email.html || email.content || email.text || '';
|
let originalContent = '';
|
||||||
|
if (email.content && typeof email.content === 'object') {
|
||||||
|
const contentObj = email.content as EmailContent;
|
||||||
|
originalContent = contentObj.html || contentObj.text || '';
|
||||||
|
} else if (typeof email.content === 'string') {
|
||||||
|
originalContent = email.content;
|
||||||
|
} else {
|
||||||
|
originalContent = email.html || email.text || '';
|
||||||
|
}
|
||||||
|
|
||||||
const quotedContent = sanitizeHtml(originalContent);
|
const quotedContent = sanitizeHtml(originalContent);
|
||||||
|
|
||||||
// Format recipients
|
// Format recipients
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user