'use client'; import { Box, Typography, Card, CardContent, Chip, TextField } from '@mui/material'; import { useTranslation } from 'react-i18next'; /** * 多轮对话内容展示和编辑组件 */ export default function ConversationContent({ messages, editMode, onMessageChange, conversation }) { const { t } = useTranslation(); // 获取角色显示信息 const getRoleDisplay = role => { switch (role) { case 'system': return { name: t('datasets.system'), color: 'default' }; case 'user': return { name: conversation?.roleA || t('datasets.user'), color: 'primary' }; case 'assistant': return { name: conversation?.roleB || t('datasets.assistant'), color: 'secondary' }; default: return { name: role, color: 'default' }; } }; return ( {t('datasets.conversationContent')} {messages.map((message, index) => { const roleInfo = getRoleDisplay(message.role); return ( {message.role !== 'system' && ( {t('datasets.round', { round: Math.floor((index + 1) / 2) + 1 })} )} {editMode ? ( onMessageChange && onMessageChange(index, e.target.value)} variant="outlined" size="small" sx={{ '& .MuiInputBase-input': { fontFamily: 'inherit', fontSize: '0.875rem', lineHeight: 1.5 } }} /> ) : ( {message.content} )} ); })} ); }