| @@ -429,6 +429,7 @@ function DetailPanel({ detail, onFeedback }: IDetailPanel) { | |||
| text_to_speech: { | |||
| enabled: true, | |||
| }, | |||
| questionEditEnable: false, | |||
| supportAnnotation: true, | |||
| annotation_reply: { | |||
| enabled: true, | |||
| @@ -484,6 +485,7 @@ function DetailPanel({ detail, onFeedback }: IDetailPanel) { | |||
| text_to_speech: { | |||
| enabled: true, | |||
| }, | |||
| questionEditEnable: false, | |||
| supportAnnotation: true, | |||
| annotation_reply: { | |||
| enabled: true, | |||
| @@ -265,6 +265,7 @@ const Chat: FC<ChatProps> = ({ | |||
| item={item} | |||
| questionIcon={questionIcon} | |||
| theme={themeBuilder?.theme} | |||
| enableEdit={config?.questionEditEnable} | |||
| switchSibling={switchSibling} | |||
| /> | |||
| ) | |||
| @@ -28,6 +28,7 @@ type QuestionProps = { | |||
| item: ChatItem | |||
| questionIcon?: ReactNode | |||
| theme: Theme | null | undefined | |||
| enableEdit?: boolean | |||
| switchSibling?: (siblingMessageId: string) => void | |||
| } | |||
| @@ -35,6 +36,7 @@ const Question: FC<QuestionProps> = ({ | |||
| item, | |||
| questionIcon, | |||
| theme, | |||
| enableEdit = true, | |||
| switchSibling, | |||
| }) => { | |||
| const { t } = useTranslation() | |||
| @@ -87,9 +89,9 @@ const Question: FC<QuestionProps> = ({ | |||
| }}> | |||
| <RiClipboardLine className='h-4 w-4' /> | |||
| </ActionButton> | |||
| <ActionButton onClick={handleEdit}> | |||
| {enableEdit && <ActionButton onClick={handleEdit}> | |||
| <RiEditLine className='h-4 w-4' /> | |||
| </ActionButton> | |||
| </ActionButton>} | |||
| </div> | |||
| </div> | |||
| <div | |||
| @@ -46,6 +46,7 @@ export type EnableType = { | |||
| export type ChatConfig = Omit<ModelConfig, 'model'> & { | |||
| supportAnnotation?: boolean | |||
| appId?: string | |||
| questionEditEnable?: boolean | |||
| supportFeedback?: boolean | |||
| supportCitationHitInfo?: boolean | |||
| } | |||