import * as React from 'react'
import { DesignSystemPreview } from '@/features/design-system/DesignSystemPreview'
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'
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 === '/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
}