"use client" import { useState } from "react" import { Star, Reply, Forward, MoreVertical, Printer, Trash2, Mail, Ban, ShieldAlert, Fish, Flag, SlidersHorizontal, Languages, Download, Code2, MessageCircleWarning, ChevronDown, TriangleAlert, } from "lucide-react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip" import { cn } from "@/lib/utils" import { avatarColor, cleanSenderName, senderInitial } from "@/lib/sender-display" import { MailDateText } from "@/components/gmail/mail-date-text" import { ContactHoverCard } from "@/components/gmail/contact-hover-card" import { MAIL_ICON_BTN, MAIL_MENU_SURFACE_WIDE_CLASS, MAIL_TOOLTIP_CONTENT_CLASS, } from "@/lib/mail-chrome-classes" const MESSAGE_MORE_MENU_CLASS = MAIL_MENU_SURFACE_WIDE_CLASS const MENU_ICON_CLASS = "size-[18px] shrink-0 text-muted-foreground" export interface EmailViewMessageToolbarProps { sender: string senderEmail: string dateIso: string isSpam: boolean isLast: boolean starred: boolean onToggleStar?: () => void onCollapse?: () => void onPrintConversation?: () => void } export function EmailViewMessageToolbar({ sender, senderEmail, dateIso, isSpam, isLast, starred, onToggleStar, onCollapse, onPrintConversation, }: EmailViewMessageToolbarProps) { const [showDetails, setShowDetails] = useState(false) const name = cleanSenderName(sender) return ( <>
{isSpam ? (
) : (
{senderInitial(name)}
)}
e.stopPropagation() : undefined} className="inline min-w-0 max-w-full align-baseline" > {name} <{senderEmail}>
{showDetails && (

de : {name} <{senderEmail}>

à : moi

date :{" "}

{isSpam && (

sécurité : ce message est marqué comme spam — les images et appels externes sont bloqués

)}
)}
{onToggleStar ? ( ) : ( )} Répondre Répondre Transférer Supprimer Marquer comme non lus à partir d'ici Bloquer « {name} » Signaler comme spam Signaler comme hameçonnage Signaler un contenu illégal Filtrer les messages similaires Traduire { onPrintConversation?.() }} > Imprimer Télécharger le message Afficher l'original Partager pour aider à améliorer Google
) }