'use client'; import { useState } from 'react'; import { ListItem, ListItemIcon, ListItemText, Box, Typography, Chip, IconButton, Tooltip, CircularProgress } from '@mui/material'; import HelpOutlineIcon from '@mui/icons-material/HelpOutline'; import DeleteIcon from '@mui/icons-material/Delete'; import AutoFixHighIcon from '@mui/icons-material/AutoFixHigh'; import ChatIcon from '@mui/icons-material/Chat'; import { useTranslation } from 'react-i18next'; /** * 问题列表项组件 * @param {Object} props * @param {Object} props.question - 问题对象 * @param {number} props.level - 缩进级别 * @param {Function} props.onDelete - 删除问题的回调 * @param {Function} props.onGenerateDataset - 生成数据集的回调 * @param {Function} props.onGenerateMultiTurnDataset - 生成多轮对话数据集的回调 * @param {boolean} props.processing - 是否正在处理 * @param {boolean} props.processingMultiTurn - 是否正在生成多轮对话 */ export default function QuestionListItem({ question, level, onDelete, onGenerateDataset, onGenerateMultiTurnDataset, processing = false, processingMultiTurn = false }) { const { t } = useTranslation(); return ( onGenerateDataset(e)} disabled={processing || processingMultiTurn} > {processing ? : } onGenerateMultiTurnDataset && onGenerateMultiTurnDataset(e)} disabled={processing || processingMultiTurn || !onGenerateMultiTurnDataset} > {processingMultiTurn ? : } onDelete(e)} disabled={processing || processingMultiTurn} > } > {question.question} {question.answered && ( )} } /> ); }