This commit is contained in:
Archer
2023-10-11 17:18:43 +08:00
committed by GitHub
parent d0041a98b4
commit bcf9491999
51 changed files with 852 additions and 460 deletions

View File

@@ -1,5 +1,5 @@
import React, { useCallback, useMemo, useState } from 'react';
import { ModalBody, Box, useTheme } from '@chakra-ui/react';
import { ModalBody, Box, useTheme, Flex, Progress } from '@chakra-ui/react';
import { getDatasetDataItemById } from '@/api/core/dataset/data';
import { useLoading } from '@/hooks/useLoading';
import { useToast } from '@/hooks/useToast';
@@ -8,22 +8,19 @@ import { QuoteItemType } from '@/types/chat';
import MyIcon from '@/components/Icon';
import InputDataModal, { RawFileText } from '@/pages/kb/detail/components/InputDataModal';
import MyModal from '../MyModal';
import type { PgDataItemType } from '@/types/core/dataset/data';
import { useTranslation } from 'react-i18next';
import { useRouter } from 'next/router';
type SearchType = PgDataItemType & {
kb_id?: string;
};
const QuoteModal = ({
onUpdateQuote,
rawSearch = [],
onClose
}: {
onUpdateQuote: (quoteId: string, sourceText?: string) => Promise<void>;
rawSearch: SearchType[];
rawSearch: QuoteItemType[];
onClose: () => void;
}) => {
const { t } = useTranslation();
const theme = useTheme();
const router = useRouter();
const { toast } = useToast();
@@ -36,7 +33,7 @@ const QuoteModal = ({
* click edit, get new kbDataItem
*/
const onclickEdit = useCallback(
async (item: SearchType) => {
async (item: QuoteItemType) => {
if (!item.id) return;
try {
setIsLoading(true);
@@ -95,9 +92,30 @@ const QuoteModal = ({
_hover={{ '& .edit': { display: 'flex' } }}
overflow={'hidden'}
>
{item.source && !isShare && (
<RawFileText filename={item.source} fileId={item.file_id} />
{!isShare && (
<Flex alignItems={'center'} mb={1}>
<RawFileText
filename={item.source || t('common.Unknow') || 'Unknow'}
fileId={item.file_id}
/>
<Box flex={'1'} />
{item.score && (
<>
<Progress
mx={2}
w={['60px', '100px']}
value={item.score * 100}
size="sm"
borderRadius={'20px'}
colorScheme="gray"
border={theme.borders.base}
/>
<Box>{item.score.toFixed(4)}</Box>
</>
)}
</Flex>
)}
<Box>{item.q}</Box>
<Box>{item.a}</Box>
{item.id && !isShare && (

View File

@@ -102,7 +102,7 @@ const Layout = ({ children }: { children: JSX.Element }) => {
</>
)}
</Box>
<Loading loading={loading} />
<Loading loading={loading} zIndex={9999} />
</>
);
};

View File

@@ -4,16 +4,18 @@ import { Spinner, Flex, Box } from '@chakra-ui/react';
const Loading = ({
fixed = true,
text = '',
bg = 'rgba(255,255,255,0.5)'
bg = 'rgba(255,255,255,0.5)',
zIndex = 1000
}: {
fixed?: boolean;
text?: string;
bg?: string;
zIndex?: number;
}) => {
return (
<Flex
position={fixed ? 'fixed' : 'absolute'}
zIndex={1000}
zIndex={zIndex}
bg={bg}
top={0}
left={0}