diff --git a/app/mail/page.tsx b/app/mail/page.tsx index a500e65..2a59ef4 100644 --- a/app/mail/page.tsx +++ b/app/mail/page.tsx @@ -1533,6 +1533,34 @@ export default function MailPage() { ); + const handleMailboxChange = async (newMailbox: string) => { + setCurrentView(newMailbox); + setSelectedEmails([]); + setSearchQuery(''); + setEmails([]); + setLoading(true); + setError(null); + setHasMore(true); + setPage(1); + + try { + const response = await fetch(`/api/mail?folder=${encodeURIComponent(newMailbox)}`); + if (!response.ok) { + throw new Error('Failed to fetch emails'); + } + const data = await response.json(); + setEmails(data.emails); + // Only update unread count if we're in the Inbox + if (newMailbox === 'INBOX') { + setUnreadCount(data.unreadCount); + } + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to fetch emails'); + } finally { + setLoading(false); + } + }; + if (error) { return (