'use client';
import {
Container,
Box,
Typography,
Alert,
Dialog,
DialogTitle,
DialogContent,
DialogActions,
Button,
Paper
} from '@mui/material';
import ConversationHeader from '@/components/conversations/ConversationHeader';
import ConversationMetadata from '@/components/conversations/ConversationMetadata';
import ConversationContent from '@/components/conversations/ConversationContent';
import ConversationRatingSection from '@/components/conversations/ConversationRatingSection';
import useConversationDetails from './useConversationDetails';
import { useTranslation } from 'react-i18next';
/**
* 多轮对话详情页面
*/
export default function ConversationDetailPage({ params }) {
const { projectId, conversationId } = params;
const { t } = useTranslation();
// 使用自定义Hook管理状态和逻辑
const {
conversation,
messages,
loading,
editMode,
saving,
editData,
setEditData,
deleteDialogOpen,
setDeleteDialogOpen,
handleEdit,
handleSave,
handleCancel,
handleDelete,
handleNavigate,
updateMessageContent
} = useConversationDetails(projectId, conversationId);
// 加载状态
if (loading) {
return (
{t('datasets.loadingDataset')}
);
}
// 无数据状态
if (!conversation) {
return (
{t('datasets.conversationNotFound')}
);
}
return (
{/* 顶部导航栏 */}
setDeleteDialogOpen(true)}
onNavigate={handleNavigate}
/>
{/* 主要布局:左右分栏 */}
{/* 左侧主要内容区域 */}
{/* 对话内容 */}
{/* 右侧固定侧边栏 */}
{/* 元数据展示 */}
{/* 评分、标签、备注区域 */}
{
// 更新成功后刷新数据,保持页面状态同步
// 这里可以调用 useConversationDetails 的刷新逻辑
}}
/>
{/* 删除确认对话框 */}
);
}