@ -191,6 +191,7 @@ function DetailPanel({ detail, onFeedback }: IDetailPanel) {
const { userProfile : { timezone } } = useAppContext ( )
const { formatTime } = useTimestamp ( )
const { onClose , appDetail } = useContext ( DrawerContext )
const { notify } = useContext ( ToastContext )
const { currentLogItem , setCurrentLogItem , showMessageLogModal , setShowMessageLogModal , showPromptLogModal , setShowPromptLogModal , currentLogModalActiveTab } = useAppStore ( useShallow ( state = > ( {
currentLogItem : state.currentLogItem ,
setCurrentLogItem : state.setCurrentLogItem ,
@ -312,18 +313,34 @@ function DetailPanel({ detail, onFeedback }: IDetailPanel) {
return item
} ) )
} , [ allChatItems ] )
const handleAnnotationRemoved = useCallback ( ( index : number ) = > {
setAllChatItems ( allChatItems . map ( ( item , i ) = > {
if ( i === index ) {
return {
. . . item ,
content : item.content ,
annotation : undefined ,
}
const handleAnnotationRemoved = useCallback ( async ( index : number ) : Promise < boolean > = > {
const annotation = allChatItems [ index ] ? . annotation
try {
if ( annotation ? . id ) {
const { delAnnotation } = await import ( '@/service/annotation' )
await delAnnotation ( appDetail ? . id || '' , annotation . id )
}
return item
} ) )
} , [ allChatItems ] )
setAllChatItems ( allChatItems . map ( ( item , i ) = > {
if ( i === index ) {
return {
. . . item ,
content : item.content ,
annotation : undefined ,
}
}
return item
} ) )
notify ( { type : 'success' , message : t ( 'common.actionMsg.modifiedSuccessfully' ) } )
return true
}
catch {
notify ( { type : 'error' , message : t ( 'common.actionMsg.modifiedUnsuccessfully' ) } )
return false
}
} , [ allChatItems , appDetail ? . id , t ] )
const fetchInitiated = useRef ( false )