diff --git a/apps/web/components/GroupedTable.tsx b/apps/web/components/GroupedTable.tsx index 239f4b5170..43e8af9661 100644 --- a/apps/web/components/GroupedTable.tsx +++ b/apps/web/components/GroupedTable.tsx @@ -12,7 +12,14 @@ import { type ColumnDef, flexRender, } from "@tanstack/react-table"; -import { ArchiveIcon, ChevronRight, PencilIcon } from "lucide-react"; +import { + ArchiveIcon, + ChevronRight, + MoreVerticalIcon, + PencilIcon, + TagIcon, + TagsIcon, +} from "lucide-react"; import { Table, TableBody, TableCell, TableRow } from "@/components/ui/table"; import type { Category } from "@prisma/client"; import { EmailCell } from "@/components/EmailCell"; @@ -41,6 +48,17 @@ import { import { getGmailSearchUrl, getGmailUrl } from "@/utils/url"; import { MessageText } from "@/components/Typography"; import { CreateCategoryDialog } from "@/app/(app)/smart-categories/CreateCategoryButton"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuPortal, + DropdownMenuSub, + DropdownMenuSubTrigger, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { useLabels, type UserLabel } from "@/hooks/useLabels"; +import { LabelsSubMenu } from "@/components/LabelsSubMenu"; const COLUMNS = 4; @@ -172,6 +190,8 @@ export function GroupedTable({ const [selectedCategoryName, setSelectedCategoryName] = useQueryState("categoryName"); + const { userLabels: labels } = useLabels(); + return ( <> @@ -204,6 +224,7 @@ export function GroupedTable({ }} onArchiveAll={onArchiveAll} onEditCategory={onEditCategory} + labels={labels} /> {isCategoryExpanded && ( void; onArchiveAll: () => void; onEditCategory: () => void; @@ -346,10 +369,44 @@ function GroupRow({ - + + + + + + + + Edit Prompt + + + + Auto archive + + + + + + Auto archive and label + + + {}} /> + + + + + + + Auto label + + + {}} /> + + + +