diff --git a/src/main.tsx b/src/main.tsx index e95e756..f876785 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -3,7 +3,7 @@ import { RouterProvider, createRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' import './index.css' import { getDynamicBasename } from './modules/basename' - +import './agents/index.ts'; // Set up a Router instance const router = createRouter({ routeTree, diff --git a/src/pages/auth/modules/BaseHeader.tsx b/src/pages/auth/modules/BaseHeader.tsx index d93cee2..9b4916e 100644 --- a/src/pages/auth/modules/BaseHeader.tsx +++ b/src/pages/auth/modules/BaseHeader.tsx @@ -51,18 +51,27 @@ export const BaseHeader = (props: { main?: React.ComponentType | null }) => { return ( <>
-
+
{ store.links.map(link => ( - { + if (!link.href) return; + if (link.href.startsWith('http') || link.isRoot) { + window.open(link.href, '_blank'); + return; + } + navigate({ + to: link.href + }) + }} > - {link.key === 'home' && } - {link.icon && {link.icon}} - {link.title} - + {link.key === 'home' && } + {link.icon && <>{link.icon}} + {!link.icon && link.title} +
+ )) }
diff --git a/src/pages/auth/store.ts b/src/pages/auth/store.ts index 28ef0a9..0f44253 100644 --- a/src/pages/auth/store.ts +++ b/src/pages/auth/store.ts @@ -34,6 +34,7 @@ export type LayoutStore = { }; setLoginPageConfig: (config: Partial) => void; links: HeaderLink[]; + setLinks: (links: HeaderLink[]) => void; }; type HeaderLink = { title?: string; @@ -41,6 +42,7 @@ type HeaderLink = { description?: string; icon?: React.ReactNode; key?: string; + isRoot?: boolean; }; export const useLayoutStore = create((set, get) => ({ @@ -100,4 +102,5 @@ export const useLayoutStore = create((set, get) => ({ loginPageConfig: { ...state.loginPageConfig, ...config }, })), links: [{ title: '', href: '/', key: 'home' }], + setLinks: (links) => set({ links }), }));