import { useKnowledgeBaseId } from '@/hooks/knowledgeHook';
import { useSecondPathName, useThirdPathName } from '@/hooks/routeHook';
import { Breadcrumb } from 'antd';
import { ItemType } from 'antd/es/breadcrumb/Breadcrumb';
import { useCallback, useEffect, useMemo } from 'react';
import { Link, Outlet, useDispatch, useLocation, useNavigate } from 'umi';
import Siderbar from './components/knowledge-sidebar';
import {
KnowledgeDatasetRouteKey,
KnowledgeRouteKey,
datasetRouteMap,
routeMap,
} from './constant';
import styles from './index.less';
const KnowledgeAdding = () => {
const dispatch = useDispatch();
const navigate = useNavigate();
const knowledgeBaseId = useKnowledgeBaseId();
const location = useLocation();
const activeKey: KnowledgeRouteKey =
(useSecondPathName() as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset;
const datasetActiveKey: KnowledgeDatasetRouteKey =
useThirdPathName() as KnowledgeDatasetRouteKey;
const gotoList = useCallback(() => {
navigate('/knowledge');
}, [navigate]);
const breadcrumbItems: ItemType[] = useMemo(() => {
const items: ItemType[] = [
{
title: Knowledge Base,
},
{
title: datasetActiveKey ? (
{routeMap[activeKey]}
) : (
routeMap[activeKey]
),
},
];
if (datasetActiveKey) {
items.push({
title: datasetRouteMap[datasetActiveKey],
});
}
return items;
}, [activeKey, datasetActiveKey, gotoList, knowledgeBaseId]);
useEffect(() => {
const search: string = location.search.slice(1);
const map = search.split('&').reduce>((obj, cur) => {
const [key, value] = cur.split('=');
obj[key] = value;
return obj;
}, {});
dispatch({
type: 'kAModel/updateState',
payload: {
doc_id: undefined,
...map,
},
});
}, [location, dispatch]);
return (
<>
>
);
};
export default KnowledgeAdding;