diff --git a/web/src/hooks/logic-hooks/navigate-hooks.ts b/web/src/hooks/logic-hooks/navigate-hooks.ts
index 4cd9aa6f1..585997e16 100644
--- a/web/src/hooks/logic-hooks/navigate-hooks.ts
+++ b/web/src/hooks/logic-hooks/navigate-hooks.ts
@@ -24,13 +24,17 @@ export const useNavigatePage = () => {
);
const navigateToHome = useCallback(() => {
- navigate(Routes.Home);
+ navigate(Routes.Root);
}, [navigate]);
const navigateToProfile = useCallback(() => {
navigate(Routes.ProfileSetting);
}, [navigate]);
+ const navigateToOldProfile = useCallback(() => {
+ navigate(Routes.UserSetting);
+ }, [navigate]);
+
const navigateToChatList = useCallback(() => {
navigate(Routes.Chats);
}, [navigate]);
@@ -139,5 +143,6 @@ export const useNavigatePage = () => {
navigateToSearch,
navigateToFiles,
navigateToAgentList,
+ navigateToOldProfile,
};
};
diff --git a/web/src/layouts/next-header.tsx b/web/src/layouts/next-header.tsx
index a75054d14..837019f17 100644
--- a/web/src/layouts/next-header.tsx
+++ b/web/src/layouts/next-header.tsx
@@ -40,7 +40,7 @@ export function Header() {
const { t } = useTranslation();
const { pathname } = useLocation();
const navigate = useNavigateWithFromState();
- const { navigateToProfile } = useNavigatePage();
+ const { navigateToOldProfile } = useNavigatePage();
const changeLanguage = useChangeLanguage();
const { setTheme, theme } = useTheme();
@@ -74,7 +74,7 @@ export function Header() {
const tagsData = useMemo(
() => [
- { path: Routes.Home, name: t('header.home'), icon: House },
+ { path: Routes.Root, name: t('header.Root'), icon: House },
{ path: Routes.Datasets, name: t('header.dataset'), icon: Library },
{ path: Routes.Chats, name: t('header.chat'), icon: MessageSquareText },
{ path: Routes.Searches, name: t('header.search'), icon: Search },
@@ -90,7 +90,7 @@ export function Header() {
return {
label:
- tag.path === Routes.Home ? (
+ tag.path === Routes.Root ? (
) : (
{tag.name}
@@ -100,18 +100,18 @@ export function Header() {
});
}, [tagsData]);
- const currentPath = useMemo(() => {
- return (
- tagsData.find((x) => pathname.startsWith(x.path))?.path || Routes.Home
- );
- }, [pathname, tagsData]);
+ // const currentPath = useMemo(() => {
+ // return (
+ // tagsData.find((x) => pathname.startsWith(x.path))?.path || Routes.Root
+ // );
+ // }, [pathname, tagsData]);
const handleChange = (path: SegmentedValue) => {
navigate(path as Routes);
};
const handleLogoClick = useCallback(() => {
- navigate(Routes.Home);
+ navigate(Routes.Root);
}, [navigate]);
return (
@@ -123,14 +123,19 @@ export function Header() {
className="size-10 mr-[12]"
onClick={handleLogoClick}
/>
-
-
- 21.5k stars
-
+
+
+ {/* 21.5k stars */}
+
@@ -160,7 +165,7 @@ export function Header() {
name={nickname}
avatar={avatar}
className="size-8 cursor-pointer"
- onClick={navigateToProfile}
+ onClick={navigateToOldProfile}
>
{/* Temporarily hidden */}
{/*
diff --git a/web/src/pages/agent/index.tsx b/web/src/pages/agent/index.tsx
index c08e94586..625fab48f 100644
--- a/web/src/pages/agent/index.tsx
+++ b/web/src/pages/agent/index.tsx
@@ -63,7 +63,7 @@ function AgentDropdownMenuItem({
export default function Agent() {
const { id } = useParams();
- const { navigateToAgentList } = useNavigatePage();
+ const { navigateToAgents } = useNavigatePage();
const {
visible: chatDrawerVisible,
hideModal: hideChatDrawer,
@@ -113,7 +113,7 @@ export default function Agent() {
-
+
Agent
diff --git a/web/src/pages/agents/agent-log-page.tsx b/web/src/pages/agents/agent-log-page.tsx
index c4ce9f33a..d0d39e41d 100644
--- a/web/src/pages/agents/agent-log-page.tsx
+++ b/web/src/pages/agents/agent-log-page.tsx
@@ -44,7 +44,7 @@ const getEndOfToday = (): Date => {
return today;
};
const AgentLogPage: React.FC = () => {
- const { navigateToAgentList, navigateToAgent } = useNavigatePage();
+ const { navigateToAgents, navigateToAgent } = useNavigatePage();
const { flowDetail: agentDetail } = useFetchDataOnMount();
const { id: canvasId } = useParams();
const queryClient = useQueryClient();
@@ -210,9 +210,7 @@ const AgentLogPage: React.FC = () => {
-
- Agent
-
+ Agent
diff --git a/web/src/pages/agents/agent-templates.tsx b/web/src/pages/agents/agent-templates.tsx
index e6d914bd1..ba5aea817 100644
--- a/web/src/pages/agents/agent-templates.tsx
+++ b/web/src/pages/agents/agent-templates.tsx
@@ -18,7 +18,7 @@ import { TemplateCard } from './template-card';
import { MenuItemKey, SideBar } from './template-sidebar';
export default function AgentTemplates() {
- const { navigateToAgentList } = useNavigatePage();
+ const { navigateToAgents } = useNavigatePage();
const { t } = useTranslation();
const list = useFetchAgentTemplates();
const { loading, setAgent } = useSetAgent();
@@ -89,9 +89,7 @@ export default function AgentTemplates() {
-
- Agent
-
+ Agent
diff --git a/web/src/pages/home/agent-list.tsx b/web/src/pages/home/agent-list.tsx
index ee5965e27..60e1a3c66 100644
--- a/web/src/pages/home/agent-list.tsx
+++ b/web/src/pages/home/agent-list.tsx
@@ -1,10 +1,18 @@
+import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
import { useFetchAgentListByPage } from '@/hooks/use-agent-request';
import { ApplicationCard } from './application-card';
export function Agents() {
const { data } = useFetchAgentListByPage();
+ const { navigateToAgent } = useNavigatePage();
return data
.slice(0, 10)
- .map((x) => );
+ .map((x) => (
+
+ ));
}
diff --git a/web/src/pages/home/application-card.tsx b/web/src/pages/home/application-card.tsx
index fc118d5d7..96aaed609 100644
--- a/web/src/pages/home/application-card.tsx
+++ b/web/src/pages/home/application-card.tsx
@@ -10,11 +10,12 @@ type ApplicationCardProps = {
title: string;
update_time: number;
};
+ onClick?(): void;
};
-export function ApplicationCard({ app }: ApplicationCardProps) {
+export function ApplicationCard({ app, onClick }: ApplicationCardProps) {
return (
-
+
(
-
- ));
+ return data.dialogs.slice(0, 10).map((x) => (
+
+ ));
}
diff --git a/web/src/pages/home/search-list.tsx b/web/src/pages/home/search-list.tsx
index af22ab5f0..3e133e0a2 100644
--- a/web/src/pages/home/search-list.tsx
+++ b/web/src/pages/home/search-list.tsx
@@ -1,15 +1,20 @@
+import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
import { useFetchSearchList } from '../next-searches/hooks';
import { ApplicationCard } from './application-card';
export function SearchList() {
const { data } = useFetchSearchList();
+ const { navigateToSearch } = useNavigatePage();
- return data?.data.search_apps
- .slice(0, 10)
- .map((x) => (
-
- ));
+ return data?.data.search_apps.slice(0, 10).map((x) => (
+ navigateToSearch(x.id)}
+ >
+ ));
}
diff --git a/web/src/pages/login/index.tsx b/web/src/pages/login/index.tsx
index 19906164b..9b4012c25 100644
--- a/web/src/pages/login/index.tsx
+++ b/web/src/pages/login/index.tsx
@@ -36,7 +36,7 @@ const Login = () => {
const { isLogin } = useAuth();
useEffect(() => {
if (isLogin) {
- navigate('/knowledge');
+ navigate('/');
}
}, [isLogin, navigate]);
@@ -68,7 +68,7 @@ const Login = () => {
password: rsaPassWord,
});
if (code === 0) {
- navigate('/knowledge');
+ navigate('/');
}
} else {
const code = await register({
diff --git a/web/src/pages/user-setting/index.tsx b/web/src/pages/user-setting/index.tsx
index e23c4e400..d5871f177 100644
--- a/web/src/pages/user-setting/index.tsx
+++ b/web/src/pages/user-setting/index.tsx
@@ -2,16 +2,49 @@ import { Flex } from 'antd';
import { Outlet } from 'umi';
import SideBar from './sidebar';
+import { PageHeader } from '@/components/page-header';
+import {
+ Breadcrumb,
+ BreadcrumbItem,
+ BreadcrumbLink,
+ BreadcrumbList,
+ BreadcrumbPage,
+ BreadcrumbSeparator,
+} from '@/components/ui/breadcrumb';
+import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
+import { cn } from '@/lib/utils';
+import { House } from 'lucide-react';
+import { useTranslation } from 'react-i18next';
import styles from './index.less';
const UserSetting = () => {
+ const { t } = useTranslation();
+ const { navigateToHome } = useNavigatePage();
+
return (
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {t('setting.profile')}
+
+
+
+
+
+
+
+
+
-
+
);
};
diff --git a/web/src/routes.ts b/web/src/routes.ts
index bd0d9fb59..990fa9304 100644
--- a/web/src/routes.ts
+++ b/web/src/routes.ts
@@ -1,4 +1,5 @@
export enum Routes {
+ Root = '/',
Login = '/login',
Logout = '/logout',
Home = '/home',
@@ -40,6 +41,7 @@ export enum Routes {
AgentLogPage = '/agent-log-page',
AgentShare = '/agent/share',
ChatShare = `${Chats}/share`,
+ UserSetting = '/user-setting',
}
const routes = [
@@ -68,116 +70,116 @@ const routes = [
component: `@/pages${Routes.AgentShare}`,
layout: false,
},
- {
- path: '/',
- component: '@/layouts',
- layout: false,
- wrappers: ['@/wrappers/auth'],
- routes: [
- { path: '/', redirect: '/knowledge' },
- {
- path: '/knowledge',
- component: '@/pages/knowledge',
- // component: '@/pages/knowledge/datasets',
- },
- {
- path: '/knowledge',
- component: '@/pages/add-knowledge',
- routes: [
- {
- path: '/knowledge/dataset',
- component: '@/pages/add-knowledge/components/knowledge-dataset',
- routes: [
- {
- path: '/knowledge/dataset',
- component: '@/pages/add-knowledge/components/knowledge-file',
- },
- {
- path: '/knowledge/dataset/chunk',
- component: '@/pages/add-knowledge/components/knowledge-chunk',
- },
- ],
- },
- {
- path: '/knowledge/configuration',
- component: '@/pages/add-knowledge/components/knowledge-setting',
- },
- {
- path: '/knowledge/testing',
- component: '@/pages/add-knowledge/components/knowledge-testing',
- },
- {
- path: '/knowledge/knowledgeGraph',
- component: '@/pages/add-knowledge/components/knowledge-graph',
- },
- ],
- },
- {
- path: '/chat',
- component: '@/pages/chat',
- },
- {
- path: '/user-setting',
- component: '@/pages/user-setting',
- routes: [
- { path: '/user-setting', redirect: '/user-setting/profile' },
- {
- path: '/user-setting/profile',
- // component: '@/pages/user-setting/setting-profile',
- component: '@/pages/user-setting/setting-profile',
- },
- {
- path: '/user-setting/locale',
- component: '@/pages/user-setting/setting-locale',
- },
- {
- path: '/user-setting/password',
- component: '@/pages/user-setting/setting-password',
- },
- {
- path: '/user-setting/model',
- component: '@/pages/user-setting/setting-model',
- },
- {
- path: '/user-setting/team',
- component: '@/pages/user-setting/setting-team',
- },
- {
- path: '/user-setting/system',
- component: '@/pages/user-setting/setting-system',
- },
- {
- path: '/user-setting/api',
- component: '@/pages/user-setting/setting-api',
- },
- {
- path: `/user-setting${Routes.Mcp}`,
- component: `@/pages${Routes.ProfileMcp}`,
- },
- ],
- },
- {
- path: '/file',
- component: '@/pages/file-manager',
- },
- {
- path: '/flow',
- component: '@/pages/flow/list',
- },
- {
- path: Routes.AgentList,
- component: `@/pages/${Routes.Agents}`,
- },
- {
- path: '/flow/:id',
- component: '@/pages/flow',
- },
- {
- path: '/search',
- component: '@/pages/search',
- },
- ],
- },
+ // {
+ // path: '/',
+ // component: '@/layouts',
+ // layout: false,
+ // wrappers: ['@/wrappers/auth'],
+ // routes: [
+ // { path: '/', redirect: '/knowledge' },
+ // {
+ // path: '/knowledge',
+ // component: '@/pages/knowledge',
+ // // component: '@/pages/knowledge/datasets',
+ // },
+ // {
+ // path: '/knowledge',
+ // component: '@/pages/add-knowledge',
+ // routes: [
+ // {
+ // path: '/knowledge/dataset',
+ // component: '@/pages/add-knowledge/components/knowledge-dataset',
+ // routes: [
+ // {
+ // path: '/knowledge/dataset',
+ // component: '@/pages/add-knowledge/components/knowledge-file',
+ // },
+ // {
+ // path: '/knowledge/dataset/chunk',
+ // component: '@/pages/add-knowledge/components/knowledge-chunk',
+ // },
+ // ],
+ // },
+ // {
+ // path: '/knowledge/configuration',
+ // component: '@/pages/add-knowledge/components/knowledge-setting',
+ // },
+ // {
+ // path: '/knowledge/testing',
+ // component: '@/pages/add-knowledge/components/knowledge-testing',
+ // },
+ // {
+ // path: '/knowledge/knowledgeGraph',
+ // component: '@/pages/add-knowledge/components/knowledge-graph',
+ // },
+ // ],
+ // },
+ // {
+ // path: '/chat',
+ // component: '@/pages/chat',
+ // },
+ // {
+ // path: '/user-setting',
+ // component: '@/pages/user-setting',
+ // routes: [
+ // { path: '/user-setting', redirect: '/user-setting/profile' },
+ // {
+ // path: '/user-setting/profile',
+ // // component: '@/pages/user-setting/setting-profile',
+ // component: '@/pages/user-setting/setting-profile',
+ // },
+ // {
+ // path: '/user-setting/locale',
+ // component: '@/pages/user-setting/setting-locale',
+ // },
+ // {
+ // path: '/user-setting/password',
+ // component: '@/pages/user-setting/setting-password',
+ // },
+ // {
+ // path: '/user-setting/model',
+ // component: '@/pages/user-setting/setting-model',
+ // },
+ // {
+ // path: '/user-setting/team',
+ // component: '@/pages/user-setting/setting-team',
+ // },
+ // {
+ // path: '/user-setting/system',
+ // component: '@/pages/user-setting/setting-system',
+ // },
+ // {
+ // path: '/user-setting/api',
+ // component: '@/pages/user-setting/setting-api',
+ // },
+ // {
+ // path: `/user-setting${Routes.Mcp}`,
+ // component: `@/pages${Routes.ProfileMcp}`,
+ // },
+ // ],
+ // },
+ // {
+ // path: '/file',
+ // component: '@/pages/file-manager',
+ // },
+ // {
+ // path: '/flow',
+ // component: '@/pages/flow/list',
+ // },
+ // {
+ // path: Routes.AgentList,
+ // component: `@/pages/${Routes.Agents}`,
+ // },
+ // {
+ // path: '/flow/:id',
+ // component: '@/pages/flow',
+ // },
+ // {
+ // path: '/search',
+ // component: '@/pages/search',
+ // },
+ // ],
+ // },
{
path: '/document/:id',
component: '@/pages/document-viewer',
@@ -189,12 +191,12 @@ const routes = [
layout: false,
},
{
- path: Routes.Home,
+ path: Routes.Root,
layout: false,
component: '@/layouts/next',
routes: [
{
- path: Routes.Home,
+ path: Routes.Root,
component: `@/pages${Routes.Home}`,
},
],
@@ -382,6 +384,47 @@ const routes = [
},
],
},
+ {
+ path: '/user-setting',
+ component: '@/pages/user-setting',
+ layout: false,
+ routes: [
+ { path: '/user-setting', redirect: '/user-setting/profile' },
+ {
+ path: '/user-setting/profile',
+ // component: '@/pages/user-setting/setting-profile',
+ component: '@/pages/user-setting/setting-profile',
+ },
+ {
+ path: '/user-setting/locale',
+ component: '@/pages/user-setting/setting-locale',
+ },
+ {
+ path: '/user-setting/password',
+ component: '@/pages/user-setting/setting-password',
+ },
+ {
+ path: '/user-setting/model',
+ component: '@/pages/user-setting/setting-model',
+ },
+ {
+ path: '/user-setting/team',
+ component: '@/pages/user-setting/setting-team',
+ },
+ {
+ path: '/user-setting/system',
+ component: '@/pages/user-setting/setting-system',
+ },
+ {
+ path: '/user-setting/api',
+ component: '@/pages/user-setting/setting-api',
+ },
+ {
+ path: `/user-setting${Routes.Mcp}`,
+ component: `@/pages${Routes.ProfileMcp}`,
+ },
+ ],
+ },
];
export default routes;