From 7139d52100c856b33a29fbe5b77b2e6528b785bf Mon Sep 17 00:00:00 2001 From: alma Date: Sat, 26 Apr 2025 23:34:49 +0200 Subject: [PATCH] courrier refactor --- app/courrier/page.tsx | 123 +++++++++++++++++++++++++++++++----------- 1 file changed, 92 insertions(+), 31 deletions(-) diff --git a/app/courrier/page.tsx b/app/courrier/page.tsx index ebbef4a0..70a51882 100644 --- a/app/courrier/page.tsx +++ b/app/courrier/page.tsx @@ -327,27 +327,43 @@ export default function CourrierPage() { } }; + // Render email list component + const renderEmailList = () => ( + + ); + + // Render email content based on the email body + const renderEmailContent = (email: any) => { + try { + // For simple rendering in this example, we'll just display the content directly + return
; + } catch (e) { + console.error('Error rendering email:', e); + return
Failed to render email content
; + } + }; + // Email list wrapper with preview panel const renderEmailListWrapper = () => (
{/* Email list panel */} - - + {renderEmailList()} + {/* Preview panel - will automatically take remaining space */}
{selectedEmail ? ( @@ -356,43 +372,88 @@ export default function CourrierPage() {
+

- {selectedEmail.subject || '(No subject)'} + {selectedEmail.subject}

-
+
- - - +
+ + {/* Scrollable content area */} + +
+ + + {(selectedEmail.from?.[0]?.name || '').charAt(0) || (selectedEmail.from?.[0]?.address || '').charAt(0) || '?'} + + +
+

+ {selectedEmail.from?.[0]?.name || ''} <{selectedEmail.from?.[0]?.address || ''}> +

+

+ to {selectedEmail.to?.[0]?.address || ''} +

+ {selectedEmail.cc && selectedEmail.cc.length > 0 && ( +

+ cc {selectedEmail.cc.map(c => c.address).join(', ')} +

+ )} +
+
+ {formatDate(selectedEmail.date)} +
+
- {/* Email content with scroll area */} - - +
+ {renderEmailContent(selectedEmail)} +
) : (