From 11ef9935410ab094667c5de23431be124ec6f85b Mon Sep 17 00:00:00 2001 From: alma Date: Wed, 16 Apr 2025 11:50:24 +0200 Subject: [PATCH] mail page ui correction maj 6 --- app/mail/page.tsx | 102 +++++++++++++++++++++++++++++++++------------- 1 file changed, 73 insertions(+), 29 deletions(-) diff --git a/app/mail/page.tsx b/app/mail/page.tsx index 92f1e15..7c95146 100644 --- a/app/mail/page.tsx +++ b/app/mail/page.tsx @@ -558,11 +558,21 @@ export default function MailPage() { const email = emails.find(e => e.id === emailId); if (email) { setSelectedEmail(email); - // Mark as read - const updatedEmails = emails.map(e => - e.id === emailId ? { ...e, read: true } : e - ); - setEmails(updatedEmails); + if (!email.read) { + // Mark as read in state + setEmails(emails.map(e => + e.id === emailId ? { ...e, read: true } : e + )); + + // Update read status on server + fetch('/api/mail/mark-read', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ emailId }) + }).catch(error => { + console.error('Error marking email as read:', error); + }); + } } }; @@ -1037,36 +1047,29 @@ export default function MailPage() { - {/* Delete Confirmation Dialog */} - - - - - {deleteType === 'email' ? 'Delete Email' : - deleteType === 'emails' ? 'Delete Selected Emails' : - 'Delete Account'} - - - This action cannot be undone. - - - - Cancel - Delete - - - - - {/* Compose Modal */} + {/* Compose Email Modal */} {showCompose && (

New Message

-
+
@@ -1074,15 +1077,16 @@ export default function MailPage() { id="to" value={composeTo} onChange={(e) => setComposeTo(e.target.value)} + placeholder="recipient@example.com" />
- {/* CC/BCC controls */}
@@ -1096,6 +1100,7 @@ export default function MailPage() { id="cc" value={composeCc} onChange={(e) => setComposeCc(e.target.value)} + placeholder="cc@example.com" />
@@ -1104,6 +1109,7 @@ export default function MailPage() { id="bcc" value={composeBcc} onChange={(e) => setComposeBcc(e.target.value)} + placeholder="bcc@example.com" />
@@ -1115,6 +1121,7 @@ export default function MailPage() { id="subject" value={composeSubject} onChange={(e) => setComposeSubject(e.target.value)} + placeholder="Email subject" />
@@ -1125,12 +1132,24 @@ export default function MailPage() { value={composeBody} onChange={(e) => setComposeBody(e.target.value)} className="min-h-[200px]" + placeholder="Write your message here..." />
- @@ -1138,6 +1157,31 @@ export default function MailPage() {
)} + + {/* Delete Confirmation Dialog */} + + + + + {deleteType === 'email' ? 'Delete Email' : + deleteType === 'emails' ? 'Delete Selected Emails' : + 'Delete Account'} + + + This action cannot be undone. Are you sure you want to proceed? + + + + Cancel + + Delete + + + + ); } \ No newline at end of file