From 8f7356cc12cb708e0c35ca4fcaf9e0afcc88edd4 Mon Sep 17 00:00:00 2001 From: JzoNg Date: Tue, 19 Mar 2024 17:36:57 +0800 Subject: [PATCH] fix completion log item --- .../app/text-generate/item/index.tsx | 47 ++++++++++--------- web/service/debug.ts | 2 +- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/web/app/components/app/text-generate/item/index.tsx b/web/app/components/app/text-generate/item/index.tsx index b73ac40043..d3b9d75526 100644 --- a/web/app/components/app/text-generate/item/index.tsx +++ b/web/app/components/app/text-generate/item/index.tsx @@ -1,5 +1,5 @@ 'use client' -import type { Dispatch, FC, SetStateAction } from 'react' +import type { FC } from 'react' import React, { useEffect, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import cn from 'classnames' @@ -8,7 +8,7 @@ import { useParams } from 'next/navigation' import { HandThumbDownIcon, HandThumbUpIcon } from '@heroicons/react/24/outline' import { useBoolean } from 'ahooks' import { HashtagIcon } from '@heroicons/react/24/solid' -import PromptLog from '@/app/components/app/chat/log' +// import PromptLog from '@/app/components/app/chat/log' import { Markdown } from '@/app/components/base/markdown' import Loading from '@/app/components/base/loading' import Toast from '@/app/components/base/toast' @@ -22,6 +22,7 @@ import { RefreshCcw01 } from '@/app/components/base/icons/src/vender/line/arrows import { fetchTextGenerationMessge } from '@/service/debug' import AnnotationCtrlBtn from '@/app/components/app/configuration/toolbox/annotation/annotation-ctrl-btn' import EditReplyModal from '@/app/components/app/annotation/edit-annotation-modal' +import { useStore as useAppStore } from '@/app/components/app/store' const MAX_DEPTH = 3 export type IGenerationItemProps = { @@ -113,7 +114,7 @@ const GenerationItem: FC = ({ const [childFeedback, setChildFeedback] = useState({ rating: null, }) - const [promptLog, setPromptLog] = useState<{ role: string; text: string }[]>([]) + const { setCurrentLogItem, setShowPromptLogModal } = useAppStore() const handleFeedback = async (childFeedback: Feedbacktype) => { await updateFeedback({ url: `/messages/${childMessageId}/feedbacks`, body: { rating: childFeedback.rating } }, isInstalledApp, installedAppId) @@ -183,13 +184,24 @@ const GenerationItem: FC = ({ setChildMessageId(null) }, [isLoading]) - const handleOpenLogModal = async (setModal: Dispatch>) => { + const handleOpenLogModal = async () => { const data = await fetchTextGenerationMessge({ appId: params.appId as string, messageId: messageId!, }) - setPromptLog(data.message as any || []) - setModal(true) + const logItem = { + ...data, + log: [ + ...data.message, + { + role: 'assistant', + text: data.answer, + files: data.message_files?.filter((file: any) => file.belongs_to === 'assistant') || [], + }, + ], + } + setCurrentLogItem(logItem) + setShowPromptLogModal(true) } const ratingContent = ( @@ -281,22 +293,13 @@ const GenerationItem: FC = ({
{ !isInWebApp && !isInstalledApp && !isResponding && ( - - { - showModal => ( - handleOpenLogModal(showModal)}> - - {!isMobile &&
{t('common.operation.log')}
} -
- ) - } -
+ + + {!isMobile &&
{t('common.operation.log')}
} +
) } { - return get>(`/apps/${appId}/messages/${messageId}`) + return get>(`/apps/${appId}/messages/${messageId}`) }