diff --git a/src/renderer/src/components/Ellipsis/index.tsx b/src/renderer/src/components/Ellipsis/index.tsx new file mode 100644 index 0000000000..34f546ad87 --- /dev/null +++ b/src/renderer/src/components/Ellipsis/index.tsx @@ -0,0 +1,26 @@ +import React from 'react' +import styled from 'styled-components' + +type Props = { + text: string | number + maxLine?: number +} & React.HTMLAttributes + +const Ellipsis = (props: Props) => { + const { text, maxLine = 1, ...rest } = props + return ( + + {text} + + ) +} + +const EllipsisContainer = styled.div<{ maxLine: number }>` + display: -webkit-box; + -webkit-box-orient: vertical; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: ${({ maxLine }) => maxLine}; +` + +export default Ellipsis diff --git a/src/renderer/src/pages/knowledge/KnowledgeContent.tsx b/src/renderer/src/pages/knowledge/KnowledgeContent.tsx index 7fb17af479..d85ae1f79a 100644 --- a/src/renderer/src/pages/knowledge/KnowledgeContent.tsx +++ b/src/renderer/src/pages/knowledge/KnowledgeContent.tsx @@ -10,6 +10,7 @@ import { SearchOutlined, SettingOutlined } from '@ant-design/icons' +import Ellipsis from '@renderer/components/Ellipsis' import PromptPopup from '@renderer/components/Popups/PromptPopup' import TextEditPopup from '@renderer/components/Popups/TextEditPopup' import Scrollbar from '@renderer/components/Scrollbar' @@ -18,7 +19,7 @@ import FileManager from '@renderer/services/FileManager' import { getProviderName } from '@renderer/services/ProviderService' import { FileType, FileTypes, KnowledgeBase } from '@renderer/types' import { documentExts, textExts } from '@shared/config/constant' -import { Alert, Button, Card, Divider, message, Tag, Typography, Upload } from 'antd' +import { Alert, Button, Card, Divider, message, Tag, Tooltip, Typography, Upload } from 'antd' import { FC } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' @@ -229,7 +230,11 @@ const KnowledgeContent: FC = ({ selectedBase }) => { - window.api.file.openPath(file.path)}>{file.origin_name} + window.api.file.openPath(file.path)}> + + + + {item.uniqueId &&