"use client"; import { formatConversationTime } from "@/utils/format"; import { Button } from "@/components/ui/button"; import { Separator } from "@/components/ui/separator"; interface ChatHeaderProps { conversationId: number; lastSeenAt?: string | null; unreadCount: number; onMarkAllRead: () => void; onRefresh: () => void; includeAIMessages?: boolean; onToggleAIMessages?: () => void; soundEnabled?: boolean; onToggleSound?: () => void; hideAIToggle?: boolean; // 内部对话时隐藏「显示 AI 消息」切换 } export function ChatHeader({ conversationId, lastSeenAt, unreadCount, onMarkAllRead, onRefresh, includeAIMessages = false, onToggleAIMessages, soundEnabled = false, onToggleSound, hideAIToggle = false, }: ChatHeaderProps) { return (
对话 #{conversationId}
{lastSeenAt ? `last seen ${formatConversationTime(lastSeenAt)}` : "last seen 未知"}
{/* 显示/隐藏 AI 消息切换按钮(内部对话不显示,默认始终包含 AI 消息) */} {onToggleAIMessages && !hideAIToggle && ( )} {/* 声音开关按钮 */} {onToggleSound && ( )}
); }