diff --git a/components/email/EmailSidebar.tsx b/components/email/EmailSidebar.tsx
index df70d7dc..3c0eee48 100644
--- a/components/email/EmailSidebar.tsx
+++ b/components/email/EmailSidebar.tsx
@@ -4,32 +4,24 @@ import React, { useState } from 'react';
import {
Inbox, Send, Trash, Archive, Star,
File, RefreshCw, Plus, MailOpen, Settings,
- ChevronDown, ChevronRight, ChevronUp, Mail, AlertCircle,
- MoreVertical, Edit, Trash2, AlertOctagon, Folder
+ ChevronDown, ChevronRight, Mail
} from 'lucide-react';
import { Button } from '@/components/ui/button';
import { cn } from '@/lib/utils';
import { ScrollArea } from '@/components/ui/scroll-area';
import { Badge } from '@/components/ui/badge';
-import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '@/components/ui/dropdown-menu';
-import { toast } from '@/components/ui/use-toast';
interface EmailSidebarProps {
currentFolder: string;
currentAccount: string;
accounts: Array<{
id: string;
- name: string;
email: string;
- color: string;
folders: string[];
}>;
onFolderChange: (folder: string, accountId: string) => void;
onRefresh: () => void;
onCompose: () => void;
- onAddAccount: () => void;
- onEditAccount: (accountId: string) => void;
- onDeleteAccount: (accountId: string) => void;
isLoading: boolean;
}
@@ -40,9 +32,6 @@ export default function EmailSidebar({
onFolderChange,
onRefresh,
onCompose,
- onAddAccount,
- onEditAccount,
- onDeleteAccount,
isLoading
}: EmailSidebarProps) {
const [showAccounts, setShowAccounts] = useState(true);
@@ -52,26 +41,42 @@ export default function EmailSidebar({
const getFolderIcon = (folder: string) => {
const folderLower = folder.toLowerCase();
- if (folderLower.includes('inbox')) {
- return ;
- } else if (folderLower.includes('sent')) {
- return ;
- } else if (folderLower.includes('trash')) {
- return ;
- } else if (folderLower.includes('archive')) {
- return ;
- } else if (folderLower.includes('draft')) {
- return ;
- } else if (folderLower.includes('spam') || folderLower.includes('junk')) {
- return ;
- } else {
- return ;
+ switch (folderLower) {
+ case 'inbox':
+ return ;
+ case 'sent':
+ case 'sent items':
+ return ;
+ case 'drafts':
+ return ;
+ case 'trash':
+ case 'deleted':
+ case 'bin':
+ return ;
+ case 'archive':
+ case 'archived':
+ return ;
+ case 'starred':
+ case 'important':
+ return ;
+ default:
+ return ;
}
};
- // Helper to format folder names
- const formatFolderName = (folder: string) => {
- return folder.charAt(0).toUpperCase() + folder.slice(1).toLowerCase();
+ // Group folders into standard and custom
+ const getStandardFolders = (folders: string[]) => {
+ const standardFolders = ['INBOX', 'Sent', 'Drafts', 'Trash', 'Archive', 'Junk'];
+ return standardFolders.filter(f =>
+ folders.includes(f) || folders.some(folder => folder.toLowerCase() === f.toLowerCase())
+ );
+ };
+
+ const getCustomFolders = (folders: string[]) => {
+ const standardFolders = ['INBOX', 'Sent', 'Drafts', 'Trash', 'Archive', 'Junk'];
+ return folders.filter(f =>
+ !standardFolders.some(sf => sf.toLowerCase() === f.toLowerCase())
+ );
};
const handleAccountClick = (accountId: string) => {
@@ -97,26 +102,16 @@ export default function EmailSidebar({
{/* Accounts header with toggle */}
Accounts
-
-
-
-
+
{/* Accounts list */}
@@ -125,73 +120,66 @@ export default function EmailSidebar({
{accounts.map((account) => (
{/* Account button */}
-
handleAccountClick(account.id)}
>
-
-
{account.name}
-
- {/* More options button (⋮) */}
- {account.id !== 'loading-account' && (
-
-
-
-
-
- onEditAccount(account.id)}>
- Edit
-
- onDeleteAccount(account.id)}>
- Delete
-
-
-
+
+
+ {account.email}
+
+ {expandedAccount === account.id ? (
+
+ ) : (
+
)}
-
- {/* Expand/collapse arrow */}
- {account.id !== 'loading-account' && (
-
- )}
-
+
{/* Account folders - shown when account is expanded */}
- {expandedAccount === account.id && account.folders && account.folders.length > 0 && (
-
- {account.folders.map((folder) => (
+ {expandedAccount === account.id && (
+
+ {getStandardFolders(account.folders).map((folder) => (
))}
+
+ {/* Custom folders */}
+ {getCustomFolders(account.folders).map(folder => (
+
+ ))}
)}