import { Copy } from "lucide-react"; import { useTranslation } from "react-i18next"; import { Button } from "@/components/ui/button"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; import type { SessionMessage } from "@/types"; import { formatTimestamp, getRoleLabel, getRoleTone } from "./utils"; interface SessionMessageItemProps { message: SessionMessage; index: number; isActive: boolean; setRef: (el: HTMLDivElement | null) => void; onCopy: (content: string) => void; } export function SessionMessageItem({ message, isActive, setRef, onCopy, }: SessionMessageItemProps) { const { t } = useTranslation(); return (
{t("sessionManager.copyMessage", { defaultValue: "复制内容", })}
{getRoleLabel(message.role, t)} {message.ts && ( {formatTimestamp(message.ts)} )}
{message.content}
); }