"use client" import { MoreVertical, RotateCcw, Trash2 } from "lucide-react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { useContactsStore } from "@/lib/contacts/contacts-store" import { useDeleteContact } from "@/lib/api/hooks/use-contact-mutations" import { fullContactDisplayName } from "@/lib/contacts/types" import { avatarColor, senderInitial } from "@/lib/sender-display" import { CONTACTS_HEADING_TEXT, CONTACTS_MUTED_TEXT, CONTACTS_PAGE_BANNER_CLASS, CONTACTS_PAGE_LINK_BTN_CLASS, CONTACTS_PAGE_TITLE_CLASS, CONTACTS_TABLE_HEADER_CLASS, CONTACTS_TABLE_ROW_CLASS, CONTACTS_ICON_BTN_CLASS, } from "@/lib/contacts-chrome-classes" import { cn } from "@/lib/utils" export function TrashView() { const { deletedContacts, restoreContact, emptyTrash } = useContactsStore() const deleteContactMutation = useDeleteContact() function formatDate(ts: number): string { return new Date(ts).toLocaleDateString("fr-FR", { day: "numeric", month: "short", }) } return (
{deletedContacts.length > 0 && (

Les contacts qui sont dans la corbeille depuis plus de 30 jours seront supprimés définitivement

)}

Corbeille ({deletedContacts.length})

{deletedContacts.length === 0 && (

La corbeille est vide

)} {deletedContacts.length > 0 && ( <>
Nom Raison du placement dans la corbeille Date de suppression
{deletedContacts.map((entry) => { const { contact, deletedAt, reason } = entry const displayName = fullContactDisplayName(contact) const name = displayName || contact.emails[0]?.value || "?" const color = avatarColor(name) const initial = senderInitial(name) return (
{contact.avatarUrl ? ( {name} ) : ( {initial} )} {name} {reason} {formatDate(deletedAt)} restoreContact(contact.id)}> Restaurer deleteContactMutation.mutate({ path: contact.id })} className="text-red-600 focus:text-red-600" > Supprimer définitivement
) })} )}
) }