import * as React from 'react' import { ChevronDown, ChevronRight, LogOut, UserRound } from 'lucide-react' import { AppThemeToggle } from '@/components/app/AppThemeToggle' import { Button } from '@/components/ui/button' import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu' import { Separator } from '@/components/ui/separator' import { SidebarTrigger } from '@/components/ui/sidebar' import { useAuth } from '@/features/auth/AuthProvider' const routeTitles: Array<{ pattern: RegExp; title: string }> = [ { pattern: /^\/$/, title: '工作台' }, { pattern: /^\/tickets$/, title: '工单中心' }, { pattern: /^\/tickets\/new$/, title: '创建工单' }, { pattern: /^\/tickets\/\d+$/, title: '工单详情' }, { pattern: /^\/solutions$/, title: '解决方案库' }, { pattern: /^\/solutions\/new/, title: '新建解决方案' }, { pattern: /^\/knowledge$/, title: '知识库' }, { pattern: /^\/knowledge\/search$/, title: '知识检索' }, { pattern: /^\/knowledge\/items\/new$/, title: '新建知识条目' }, { pattern: /^\/system\/users$/, title: '用户管理' }, { pattern: /^\/system\/user-groups$/, title: '用户组管理' }, { pattern: /^\/system\/roles$/, title: '角色管理' }, { pattern: /^\/system\/menus$/, title: '菜单权限' }, { pattern: /^\/audit$/, title: '审计日志' }, { pattern: /^\/design-system$/, title: '设计系统' } ] export function getCurrentPageTitle(hash: string) { const route = hash.replace(/^#/, '') || '/' return routeTitles.find((item) => item.pattern.test(route))?.title ?? '当前工作区' } export function AppTopbar() { const { logout, user } = useAuth() const [pageTitle, setPageTitle] = React.useState(() => getCurrentPageTitle(window.location.hash)) React.useEffect(() => { const handleHashChange = () => setPageTitle(getCurrentPageTitle(window.location.hash)) window.addEventListener('hashchange', handleHashChange) return () => window.removeEventListener('hashchange', handleHashChange) }, []) return (
企业服务治理中台 {pageTitle}
{user?.display_name || user?.username || '当前用户'} {user?.username || '未设置账号'} void logout()}> 退出登录
) }