"use client" import { Star, Info } from "lucide-react" 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 type { ConversationMessage, EmailAttachment, } from "@/lib/email-data" import { ContactHoverCard } from "@/components/gmail/contact-hover-card" import { EmailViewMessageToolbar } from "@/components/gmail/email-view/email-view-toolbar" import { SandboxedContent } from "@/components/gmail/email-view/sandboxed-content" import { MessageAttachmentsSection } from "@/components/gmail/email-view/message-attachments" import { MAIL_MESSAGE_HOVER_CLASS, MAIL_TOOLTIP_CONTENT_CLASS, } from "@/lib/mail-chrome-classes" export function CollapsedMessage({ message, onClick, }: { message: ConversationMessage onClick: () => void }) { const name = cleanSenderName(message.sender) const color = avatarColor(name) return (
{ if (e.key === "Enter" || e.key === " ") { e.preventDefault() onClick() } }} className={cn("group flex w-full cursor-pointer items-center gap-3 px-4 py-3 text-left transition-colors", MAIL_MESSAGE_HOVER_CLASS)} >
{senderInitial(name)}
{name}

{message.preview}

) } export function ExpandedMessage({ sender, senderEmail, dateIso, body, isSpam, isLast, starred, attachments = [], onToggleStar, onCollapse, onPrintConversation, }: { sender: string senderEmail: string dateIso: string body: string isSpam: boolean isLast: boolean starred: boolean attachments?: EmailAttachment[] onToggleStar?: () => void onCollapse?: () => void onPrintConversation?: () => void }) { return (
0 ? "pb-0" : "pb-4" )} data-selectable-text >
{attachments.length > 0 && ( )}
) } export function SpamWhyBanner({ onNotSpam }: { onNotSpam?: () => void }) { return (

Pourquoi ce message est-il dans le spam ?{" "} Ce message est semblable à des messages identifiés comme spam par le passé.

{onNotSpam && ( )}
Les filtres peuvent se tromper. Si le message est légitime, signalez-le comme non-spam pour l'améliorer.
) }