diff --git a/components/email/EmailLayout.tsx b/components/email/EmailLayout.tsx
index 2b4a71bb..cea8b1b3 100644
--- a/components/email/EmailLayout.tsx
+++ b/components/email/EmailLayout.tsx
@@ -122,7 +122,7 @@ export default function EmailLayout({ className = '' }: EmailLayoutProps) {
};
// Handle email selection
- const handleEmailSelect = (id: string) => {
+ const handleEmailSelect = (id: string, accountId: string, folder: string) => {
setSelectedEmailId(id);
};
@@ -315,7 +315,7 @@ export default function EmailLayout({ className = '' }: EmailLayoutProps) {
className={`p-3 hover:bg-secondary/20 cursor-pointer transition-colors ${
selectedEmailId === email.id ? 'bg-secondary/30' : ''
} ${!email.flags.seen ? 'bg-primary/5' : ''}`}
- onClick={() => handleEmailSelect(email.id)}
+ onClick={() => handleEmailSelect(email.id, email.accountId || '', email.folder || '')}
>
diff --git a/components/email/EmailList.tsx b/components/email/EmailList.tsx
index eac71c6a..0c6a1baa 100644
--- a/components/email/EmailList.tsx
+++ b/components/email/EmailList.tsx
@@ -16,7 +16,7 @@ interface EmailListProps {
isLoading: boolean;
totalEmails: number;
hasMoreEmails: boolean;
- onSelectEmail: (emailId: string) => void;
+ onSelectEmail: (emailId: string, accountId: string, folder: string) => void;
onToggleSelect: (emailId: string) => void;
onToggleSelectAll: () => void;
onBulkAction: (action: 'delete' | 'mark-read' | 'mark-unread' | 'archive') => void;
@@ -153,7 +153,7 @@ export default function EmailList({
email={email}
isSelected={selectedEmailIds.includes(email.id)}
isActive={selectedEmail?.id === email.id}
- onSelect={() => onSelectEmail(email.id)}
+ onSelect={() => onSelectEmail(email.id, email.accountId || '', email.folder || '')}
onToggleSelect={(e: React.MouseEvent) => {
e.stopPropagation();
onToggleSelect(email.id);
diff --git a/hooks/use-courrier.ts b/hooks/use-courrier.ts
index c17cec15..88094cc5 100644
--- a/hooks/use-courrier.ts
+++ b/hooks/use-courrier.ts
@@ -289,11 +289,11 @@ export const useCourrier = () => {
}, [currentFolder]);
// Select an email to view
- const handleEmailSelect = useCallback(async (emailId: string, accountId?: string, folderOverride?: string) => {
+ const handleEmailSelect = useCallback(async (emailId: string, accountId: string, folderOverride: string) => {
setIsLoading(true);
try {
// Find the email in the current list
- const email = emails.find(e => e.id === emailId && (!accountId || e.accountId === accountId) && (!folderOverride || e.folder === folderOverride));
+ const email = emails.find(e => e.id === emailId && e.accountId === accountId && e.folder === folderOverride);
if (!email) {
throw new Error('Email not found');
}