import { Fragment, useState } from 'react' import type { FC } from 'react' import Link from 'next/link' import { useTranslation } from 'react-i18next' import Tooltip from './tooltip' import ProgressTooltip from './progress-tooltip' import type { Resources } from './index' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger, } from '@/app/components/base/portal-to-follow-elem' import FileIcon from '@/app/components/base/file-icon' import { Hash02, Target04, } from '@/app/components/base/icons/src/vender/line/general' import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows' import { BezierCurve03, TypeSquare, } from '@/app/components/base/icons/src/vender/line/editor' type PopupProps = { data: Resources showHitInfo?: boolean } const Popup: FC = ({ data, showHitInfo = false, }) => { const { t } = useTranslation() const [open, setOpen] = useState(false) const fileType = data.dataSourceType !== 'notion' ? (/\.([^.]*)$/g.exec(data.documentName)?.[1] || '') : 'notion' return ( setOpen(v => !v)}>
{data.documentName}
{data.documentName}
{ data.sources.map((source, index) => (
{source.segment_position || index + 1}
{ showHitInfo && ( {t('common.chat.citation.linkToDataset')} ) }
{source.content}
{ showHitInfo && (
} /> } /> } /> { source.score && ( ) }
) }
{ index !== data.sources.length - 1 && (
) } )) }
) } export default Popup