From 353cb6c51ce8d92631805765b34264280bda7a03 Mon Sep 17 00:00:00 2001 From: alma Date: Sat, 26 Apr 2025 10:32:05 +0200 Subject: [PATCH] panel 2 courier api restore --- components/email/ComposeEmail.tsx | 99 ++++++++++++------------------- 1 file changed, 39 insertions(+), 60 deletions(-) diff --git a/components/email/ComposeEmail.tsx b/components/email/ComposeEmail.tsx index d3b168fe..3f6b3495 100644 --- a/components/email/ComposeEmail.tsx +++ b/components/email/ComposeEmail.tsx @@ -127,7 +127,7 @@ export default function ComposeEmail({ ).join(', '); }; - // Initialize forwarded email with improved style handling + // Initialize forwarded email with a dead simple approach const initializeForwardedEmail = async () => { if (!initialEmail) { console.error('No email available for forwarding'); @@ -136,77 +136,56 @@ export default function ComposeEmail({ } try { - setSending(true); // Use sending state to show loading - // Format subject with Fwd: prefix if needed - const cleanSubject = initialEmail.subject?.replace(/^(Fwd|FW|Forward):\s*/i, '').trim() || ''; - const formattedSubject = initialEmail.subject?.match(/^(Fwd|FW|Forward):/i) - ? initialEmail.subject - : `Fwd: ${cleanSubject}`; + const subject = initialEmail.subject || "(No subject)"; + if (!subject.match(/^(Fwd|FW|Forward):/i)) { + setSubject(`Fwd: ${subject}`); + } else { + setSubject(subject); + } - setSubject(formattedSubject); + // Get email content - use whatever data we have available + const content = initialEmail.content || initialEmail.html || initialEmail.text || ''; - // Store the email content directly without complex parsing - const emailContent = initialEmail.content || ''; + // Get from info - handle various possible formats + let from = 'Unknown Sender'; + if (initialEmail.from) { + if (Array.isArray(initialEmail.from) && initialEmail.from.length > 0) { + from = initialEmail.from[0].address || 'Unknown'; + } else if (typeof initialEmail.from === 'string') { + from = initialEmail.from; + } + } - // Create a forwarding header with proper types - const fromDisplay = Array.isArray(initialEmail.from) && initialEmail.from.length > 0 - ? initialEmail.from.map(f => f.name ? `${f.name} <${f.address}>` : f.address).join(', ') - : 'Unknown Sender'; - - const toDisplay = Array.isArray(initialEmail.to) && initialEmail.to.length > 0 - ? initialEmail.to.map(t => t.name ? `${t.name} <${t.address}>` : t.address).join(', ') - : ''; - - const ccDisplay = initialEmail.cc && Array.isArray(initialEmail.cc) && initialEmail.cc.length > 0 - ? initialEmail.cc.map(c => c.name ? `${c.name} <${c.address}>` : c.address).join(', ') - : ''; - - const dateDisplay = initialEmail.date - ? initialEmail.date instanceof Date - ? initialEmail.date.toLocaleString() - : new Date(initialEmail.date as any).toLocaleString() - : ''; - - const subjectDisplay = initialEmail.subject || '(No subject)'; - - // Don't try to parse the content, just wrap it in a container - const contentDisplay = emailContent.trim() - ? `
${emailContent}
` - : '
No content available
'; - - // Construct the forwarded message with direct header information + // Hard-code a simple format that definitely works const forwardedContent = ` -
-
- ---------- Forwarded message ---------
- From: ${fromDisplay}
- Date: ${dateDisplay}
- Subject: ${subjectDisplay}
- To: ${toDisplay}
- ${ccDisplay ? `Cc: ${ccDisplay}
` : ''} -
-
- ${contentDisplay} -
+
+

---------- Forwarded message ---------

+

From: ${from}

+

Date: ${new Date().toLocaleString()}

+

Subject: ${subject}

+

To: ${Array.isArray(initialEmail.to) && initialEmail.to.length > 0 ? initialEmail.to[0].address : ''}

+
+ +
+ ${content ? content : '

No content available

'}
`; - // Set the formatted content + // Just set the HTML directly setBody(forwardedContent); + } catch (error) { console.error('Error initializing forwarded email:', error); - // Fallback content for error case + // Super simple fallback setBody(` -
- ---------- Forwarded message ---------
- From: ${initialEmail.from ? JSON.stringify(initialEmail.from) : 'Unknown'}
- Date: ${initialEmail.date ? new Date(initialEmail.date as any).toLocaleString() : ''}
- Subject: ${initialEmail.subject || ''}
- To: ${initialEmail.to ? JSON.stringify(initialEmail.to) : ''}
+
+

---------- Forwarded message ---------

+

From: ${initialEmail.from ? (Array.isArray(initialEmail.from) ? initialEmail.from[0].address : initialEmail.from) : 'Unknown'}

+

Date: ${new Date().toLocaleString()}

+

Subject: ${initialEmail.subject || ''}

+

To: ${initialEmail.to ? (Array.isArray(initialEmail.to) ? initialEmail.to[0].address : initialEmail.to) : ''}

-
Error loading forwarded content
`); - } finally { - setSending(false); +

Content could not be displayed

`); } };