diff --git a/app/mail/page.tsx b/app/mail/page.tsx index 28fa8c0..e6ae50a 100644 --- a/app/mail/page.tsx +++ b/app/mail/page.tsx @@ -448,7 +448,7 @@ export default function MailPage() { console.log('Processed email data:', emailData); // Debug processed data // Ensure all dates are Date objects - const processedEmails = emailData.map(email => ({ + const processedEmails = emailData.map((email: Email) => ({ ...email, date: email.date ? new Date(email.date) : new Date(), read: email.read || false, @@ -629,6 +629,35 @@ export default function MailPage() { } }; + // Handle reply + const handleReply = async (type: 'reply' | 'replyAll' | 'forward') => { + const selectedEmailData = getSelectedEmail(); + if (!selectedEmailData) return; + + setComposeOpen(true); + const subject = `${type === 'forward' ? 'Fwd: ' : 'Re: '}${selectedEmailData.subject}`; + let to = ''; + let content = ''; + + switch (type) { + case 'reply': + to = selectedEmailData.from; + content = `\n\nOn ${new Date(selectedEmailData.date).toLocaleString()}, ${selectedEmailData.fromName} wrote:\n> ${selectedEmailData.body.split('\n').join('\n> ')}`; + break; + case 'replyAll': + to = selectedEmailData.from; // You would also need to add CC recipients here + content = `\n\nOn ${new Date(selectedEmailData.date).toLocaleString()}, ${selectedEmailData.fromName} wrote:\n> ${selectedEmailData.body.split('\n').join('\n> ')}`; + break; + case 'forward': + content = `\n\n---------- Forwarded message ----------\nFrom: ${selectedEmailData.fromName} <${selectedEmailData.from}>\nDate: ${new Date(selectedEmailData.date).toLocaleString()}\nSubject: ${selectedEmailData.subject}\n\n${selectedEmailData.body}`; + break; + } + + setComposeSubject(subject); + setComposeRecipient(to); + setComposeContent(content); + }; + if (loading) { return (
+ {selectedEmail.fromName || selectedEmail.from} +
++ to {selectedEmail.to} +
+Select an email to view its contents
+