From 3c57a3ed658a67ce4f0c8a687ef6236ed34c9560 Mon Sep 17 00:00:00 2001 From: alma Date: Thu, 1 May 2025 12:19:59 +0200 Subject: [PATCH] courrier preview --- lib/utils/email-adapters.ts | 18 +++++++++++------- lib/utils/email-utils.ts | 24 +++++++----------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/lib/utils/email-adapters.ts b/lib/utils/email-adapters.ts index 6b845418..9c4e851d 100644 --- a/lib/utils/email-adapters.ts +++ b/lib/utils/email-adapters.ts @@ -1,5 +1,6 @@ import { EmailMessage, EmailContent, EmailAddress, LegacyEmailMessage } from '@/types/email'; -import { processContentWithDirection } from './text-direction'; +import { extractEmailContent } from '@/lib/utils/email-content'; +import { detectTextDirection } from '@/lib/utils/text-direction'; /** * Adapts a legacy email format to the standardized EmailMessage format @@ -161,14 +162,17 @@ function normalizeContent(email: LegacyEmailMessage): EmailContent { else if (email.formattedContent) initialContent.html = email.formattedContent; } - // Use the centralized content processor - const processedContent = processContentWithDirection(initialContent); + // Use extractEmailContent from our centralized utilities + const { html, text } = extractEmailContent(initialContent); + + // Detect direction from text + const direction = detectTextDirection(text || ''); return { - html: processedContent.html, - text: processedContent.text, - isHtml: !!processedContent.html, - direction: processedContent.direction + html, + text, + isHtml: !!html, + direction }; } catch (error) { console.error('Error normalizing email content:', error); diff --git a/lib/utils/email-utils.ts b/lib/utils/email-utils.ts index 63fe04d7..5bb5935a 100644 --- a/lib/utils/email-utils.ts +++ b/lib/utils/email-utils.ts @@ -282,23 +282,18 @@ export function formatReplyEmail(originalEmail: EmailMessage | LegacyEmailMessag // Create simple reply with header const cleanReplyHeader = `
On ${dateStr}, ${fromStr} wrote:
`; - // Limit text to reasonable size and format as simple HTML - const maxChars = 1000; - const truncatedText = emailText.length > maxChars - ? emailText.slice(0, maxChars) + '... [message truncated]' - : emailText; - + // No character limit - display the full email content const cleanHtml = ` ${cleanReplyHeader}
-

${truncatedText.replace(/\n/g, '

')}

+

${emailText.replace(/\n/g, '

')}

`; - // Plain text version + // Plain text version - no truncation const plainText = ` On ${dateStr}, ${fromStr} wrote: -> ${truncatedText.split('\n').join('\n> ')} +> ${emailText.split('\n').join('\n> ')} `; return { @@ -353,16 +348,11 @@ export function formatForwardedEmail(originalEmail: EmailMessage | LegacyEmailMe `; - // Limit text to reasonable size and format as simple HTML - const maxChars = 1500; - const truncatedText = emailText.length > maxChars - ? emailText.slice(0, maxChars) + '... [message truncated]' - : emailText; - + // No character limit - display the full email content const cleanHtml = ` ${cleanForwardHeader}
-

${truncatedText.replace(/\n/g, '

')}

+

${emailText.replace(/\n/g, '

')}

`; @@ -375,7 +365,7 @@ Subject: ${subject || ''} To: ${toStr} ${ccStr ? `Cc: ${ccStr}\n` : ''} -${truncatedText} +${emailText} `; // Check if original has attachments