diff --git a/components/email/EmailSidebar.tsx b/components/email/EmailSidebar.tsx index 074da157..bc6166d3 100644 --- a/components/email/EmailSidebar.tsx +++ b/components/email/EmailSidebar.tsx @@ -180,9 +180,38 @@ export default function EmailSidebar({ console.log(`Folder ${baseFolderName} is selected for account ${accountId}`); } - // Get unread count - const folderUnreadCount = unreadCount[accountId]?.[baseFolderName] || - unreadCount[accountId]?.[prefixedFolder] || 0; + // Debug unread count structure + console.log('Unread count map structure:', unreadCount); + + // Get unread count - check all possible formats + let folderUnreadCount = 0; + + // First check if account exists in the map + if (unreadCount && unreadCount[accountId]) { + // Try the base folder name first + if (typeof unreadCount[accountId][baseFolderName] === 'number') { + folderUnreadCount = unreadCount[accountId][baseFolderName]; + console.log(`Found unread count for ${baseFolderName}: ${folderUnreadCount}`); + } + // Then try the prefixed folder name + else if (typeof unreadCount[accountId][prefixedFolder] === 'number') { + folderUnreadCount = unreadCount[accountId][prefixedFolder]; + console.log(`Found unread count for ${prefixedFolder}: ${folderUnreadCount}`); + } + // Finally try with uppercase/lowercase variations + else { + // Check for case-insensitive match + const folderMap = unreadCount[accountId]; + for (const key in folderMap) { + if (key.toLowerCase() === baseFolderName.toLowerCase() || + key.toLowerCase() === prefixedFolder.toLowerCase()) { + folderUnreadCount = folderMap[key]; + console.log(`Found unread count with case-insensitive match ${key}: ${folderUnreadCount}`); + break; + } + } + } + } return (