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'); }