diff --git a/web/.umirc.ts b/web/.umirc.ts index 792dfcd920..b13fbf256d 100644 --- a/web/.umirc.ts +++ b/web/.umirc.ts @@ -1,7 +1,9 @@ import { defineConfig } from 'umi'; +import { appName } from './src/conf.json'; import routes from './src/routes'; export default defineConfig({ + title: appName, outputPath: 'dist', // alias: { '@': './src' }, npmClient: 'npm', @@ -25,9 +27,10 @@ export default defineConfig({ }, }, devtool: 'source-map', + copy: ['src/conf.json'], proxy: { '/v1': { - target: '', + target: 'http://123.60.95.134:9380/', changeOrigin: true, // pathRewrite: { '^/v1': '/v1' }, }, diff --git a/web/src/assets/logo.png b/web/src/assets/logo.png deleted file mode 100644 index 24616f1d13..0000000000 Binary files a/web/src/assets/logo.png and /dev/null differ diff --git a/web/src/assets/svg/logo.svg b/web/src/assets/svg/logo.svg deleted file mode 100644 index 54167d2fb3..0000000000 --- a/web/src/assets/svg/logo.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/web/src/conf.json b/web/src/conf.json new file mode 100644 index 0000000000..a407b60c27 --- /dev/null +++ b/web/src/conf.json @@ -0,0 +1,3 @@ +{ + "appName": "RAGFlow" +} diff --git a/web/src/hooks/logicHooks.ts b/web/src/hooks/logicHooks.ts index f9d628059d..84001194b4 100644 --- a/web/src/hooks/logicHooks.ts +++ b/web/src/hooks/logicHooks.ts @@ -3,7 +3,8 @@ import { Pagination } from '@/interfaces/common'; import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { IChangeParserConfigRequestBody } from '@/interfaces/request/document'; import { PaginationProps } from 'antd'; -import { useCallback, useMemo, useState } from 'react'; +import axios from 'axios'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useDispatch } from 'umi'; import { useSetModalState, useTranslate } from './commonHooks'; @@ -113,3 +114,22 @@ export const useSetPagination = (namespace: string) => { return setPagination; }; + +export interface AppConf { + appName: string; +} + +export const useFetchAppConf = () => { + const [appConf, setAppConf] = useState({} as AppConf); + const fetchAppConf = useCallback(async () => { + const ret = await axios.get('/conf.json'); + + setAppConf(ret.data); + }, []); + + useEffect(() => { + fetchAppConf(); + }, [fetchAppConf]); + + return appConf; +}; diff --git a/web/src/interfaces/database/file-manager.ts b/web/src/interfaces/database/file-manager.ts index 8bbcf77fed..5cefc64539 100644 --- a/web/src/interfaces/database/file-manager.ts +++ b/web/src/interfaces/database/file-manager.ts @@ -12,6 +12,7 @@ export interface IFile { type: string; update_date: string; update_time: number; + source_type: string; } export interface IFolder { diff --git a/web/src/layouts/components/header/index.less b/web/src/layouts/components/header/index.less index ffbe6b0b94..d1ba8517d0 100644 --- a/web/src/layouts/components/header/index.less +++ b/web/src/layouts/components/header/index.less @@ -18,6 +18,7 @@ .appIcon { vertical-align: middle; + max-width: 36px; } .appName { diff --git a/web/src/layouts/components/header/index.tsx b/web/src/layouts/components/header/index.tsx index 6d73ccc23e..8463970943 100644 --- a/web/src/layouts/components/header/index.tsx +++ b/web/src/layouts/components/header/index.tsx @@ -1,7 +1,6 @@ import { ReactComponent as StarIon } from '@/assets/svg/chat-star.svg'; import { ReactComponent as FileIcon } from '@/assets/svg/file-management.svg'; import { ReactComponent as KnowledgeBaseIcon } from '@/assets/svg/knowledge-base.svg'; -import { ReactComponent as Logo } from '@/assets/svg/logo.svg'; import { useTranslate } from '@/hooks/commonHooks'; import { useNavigateWithFromState } from '@/hooks/routeHook'; import { Layout, Radio, Space, theme } from 'antd'; @@ -9,6 +8,7 @@ import { useCallback, useMemo } from 'react'; import { useLocation } from 'umi'; import Toolbar from '../right-toolbar'; +import { useFetchAppConf } from '@/hooks/logicHooks'; import styles from './index.less'; const { Header } = Layout; @@ -20,6 +20,7 @@ const RagHeader = () => { const navigate = useNavigateWithFromState(); const { pathname } = useLocation(); const { t } = useTranslate('header'); + const appConf = useFetchAppConf(); const tagsData = useMemo( () => [ @@ -56,8 +57,8 @@ const RagHeader = () => { }} > - - RAGFlow + + {appConf.appName} { downloadFile({ @@ -67,36 +68,42 @@ const ActionCell = ({ return ( - - - + {isKnowledgeBase || ( + + + + )} - - - - - - + {isKnowledgeBase || ( + + + + )} + {isKnowledgeBase || ( + + + + )} {record.type !== 'folder' && ( - + {isKnowledgeBase || ( + + + + )} ); diff --git a/web/src/utils/commonUtil.ts b/web/src/utils/commonUtil.ts index 97a3f0f0a2..fa95559f53 100644 --- a/web/src/utils/commonUtil.ts +++ b/web/src/utils/commonUtil.ts @@ -60,3 +60,8 @@ export const sortLLmFactoryListBySpecifiedOrder = (list: IFactory[]) => { return finalList; }; + +export const filterOptionsByInput = ( + input: string, + option: { label: string; value: string } | undefined, +) => (option?.label ?? '').toLowerCase().includes(input.toLowerCase());