import * as React from 'react' import { DesignSystemPreview } from '@/features/design-system/DesignSystemPreview' import { KnowledgeBaseListPage } from '@/features/knowledge/KnowledgeBaseListPage' import { KnowledgeItemEditorPage } from '@/features/knowledge/KnowledgeItemEditorPage' import { KnowledgeSearchPage } from '@/features/knowledge/KnowledgeSearchPage' import { SolutionCreatePage } from '@/features/solutions/SolutionCreatePage' import { SolutionListPage } from '@/features/solutions/SolutionListPage' import { AuditLogPage } from '@/features/system/AuditLogPage' import { SystemMenusPage } from '@/features/system/SystemMenusPage' import { SystemRolesPage } from '@/features/system/SystemRolesPage' import { SystemUserGroupsPage } from '@/features/system/SystemUserGroupsPage' import { SystemUsersPage } from '@/features/system/SystemUsersPage' import { TicketCreatePage } from '@/features/tickets/TicketCreatePage' import { TicketDetailPage } from '@/features/tickets/TicketDetailPage' import { TicketListPage } from '@/features/tickets/TicketListPage' import { WorkbenchPage } from '@/features/workbench/WorkbenchPage' import { ModelProviderPage } from '@/features/modelhub/ModelProviderPage' import { SkillListPage } from '@/features/skills/SkillListPage' import { SkillDetailPage } from '@/features/skills/SkillDetailPage' import { AgentListPage } from '@/features/agents/AgentListPage' import { AgentDetailPage } from '@/features/agents/AgentDetailPage' import { AgentRunListPage } from '@/features/agents/AgentRunListPage' import { AgentRunDetailPage } from '@/features/agents/AgentRunDetailPage' function getRoute() { return window.location.hash.replace(/^#/, '') || '/' } export function Router() { const [route, setRoute] = React.useState(getRoute) React.useEffect(() => { const handleHashChange = () => setRoute(getRoute()) window.addEventListener('hashchange', handleHashChange) return () => window.removeEventListener('hashchange', handleHashChange) }, []) if (route === '/design-system') { return } if (route === '/audit') { return } if (route === '/system/users') { return } if (route === '/system/user-groups') { return } if (route === '/system/roles') { return } if (route === '/system/menus') { return } if (route === '/') { return } if (route === '/modelhub/providers') { return } if (route === '/skills') { return } const skillMatch = route.match(/^\/skills\/(\d+)$/) if (skillMatch) { return } if (route === '/agents') { return } const agentMatch = route.match(/^\/agents\/(\d+)$/) if (agentMatch) { return } if (route === '/agent-runs') { return } const runMatch = route.match(/^\/agent-runs\/([0-9a-f-]+)$/i) if (runMatch) { return } if (route === '/knowledge') { return } if (route === '/knowledge/search') { return } if (route === '/knowledge/items/new') { return } if (route === '/solutions') { return } if (route.startsWith('/solutions/new')) { return } if (route === '/tickets') { return } if (route === '/tickets/new') { return } const ticketMatch = route.match(/^\/tickets\/(\d+)$/) if (ticketMatch) { return } return }