diff --git a/app/courrier/page.tsx b/app/courrier/page.tsx index c0efc0be..5f25efce 100644 --- a/app/courrier/page.tsx +++ b/app/courrier/page.tsx @@ -1671,6 +1671,8 @@ export default function CourrierPage() { attachments={attachments} setAttachments={setAttachments} handleSend={handleSend} + replyTo={selectedEmail || undefined} + forwardFrom={selectedEmail || undefined} onSend={(email) => { // Handle the sent email console.log('Email sent:', email); diff --git a/components/ComposeEmail.tsx b/components/ComposeEmail.tsx index 28d74f50..cd019c19 100644 --- a/components/ComposeEmail.tsx +++ b/components/ComposeEmail.tsx @@ -41,8 +41,8 @@ interface ComposeEmailProps { initialBody?: string; initialCc?: string; initialBcc?: string; - replyTo?: Email; - forwardFrom?: Email; + replyTo?: Email | null; + forwardFrom?: Email | null; } export default function ComposeEmail({ @@ -83,13 +83,14 @@ export default function ComposeEmail({ useEffect(() => { if (composeBodyRef.current) { // Initialize the content structure - const originalContent = originalEmail?.content || ''; - composeBodyRef.current.innerHTML = ` + const originalContent = replyTo || forwardFrom ? `
- ${originalContent} + ${composeBody}
- `; + ` : composeBody; + + composeBodyRef.current.innerHTML = originalContent; // Place cursor at the beginning of new reply area const newReplyArea = composeBodyRef.current.querySelector('#new-reply-area'); @@ -102,8 +103,8 @@ export default function ComposeEmail({ sel?.addRange(range); } } - }, [originalEmail]); // Run when originalEmail changes - + }, [composeBody, replyTo, forwardFrom]); + // Modified input handler to prevent nested structures const handleInput = (e: React.FormEvent) => { if (!composeBodyRef.current) return; @@ -188,23 +189,13 @@ export default function ComposeEmail({ {/* Modal Header */}

- {composeSubject.startsWith('Re:') ? 'Reply' : - composeSubject.startsWith('Fwd:') ? 'Forward' : 'New Message'} + {replyTo ? 'Reply' : forwardFrom ? 'Forward' : 'New Message'}

@@ -284,16 +275,16 @@ export default function ComposeEmail({
{/* Original Email Content Preview */} - {originalEmail && ( + {(replyTo || forwardFrom) && (

- {originalEmail.type === 'forward' ? 'Forwarded Message' : 'Original Message'} + {forwardFrom ? 'Forwarded Message' : 'Original Message'}

)} @@ -346,7 +337,7 @@ export default function ComposeEmail({