43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import {
|
|
Breadcrumb,
|
|
BreadcrumbItem,
|
|
BreadcrumbLink,
|
|
BreadcrumbList,
|
|
BreadcrumbPage,
|
|
BreadcrumbSeparator,
|
|
} from "@/components/ui/breadcrumb"
|
|
import { Separator } from "@/components/ui/separator"
|
|
import {
|
|
SidebarTrigger,
|
|
} from "@/components/ui/sidebar"
|
|
import { ThemeToggle } from "@/components/theme-toggle"
|
|
|
|
export function AppHeader({ title }: { title: string }) {
|
|
const isHome = title === "控制台"
|
|
|
|
return (
|
|
<header className="flex h-16 shrink-0 items-center justify-between gap-2 border-b px-4 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12">
|
|
<div className="flex min-w-0 h-5 items-center gap-2">
|
|
<SidebarTrigger className="-ml-1" />
|
|
<Separator orientation="vertical" className="mr-2" />
|
|
<Breadcrumb>
|
|
<BreadcrumbList>
|
|
{!isHome && (
|
|
<>
|
|
<BreadcrumbItem className="hidden md:block">
|
|
<BreadcrumbLink href="/">控制台</BreadcrumbLink>
|
|
</BreadcrumbItem>
|
|
<BreadcrumbSeparator className="hidden md:block" />
|
|
</>
|
|
)}
|
|
<BreadcrumbItem>
|
|
<BreadcrumbPage>{title}</BreadcrumbPage>
|
|
</BreadcrumbItem>
|
|
</BreadcrumbList>
|
|
</Breadcrumb>
|
|
</div>
|
|
<ThemeToggle />
|
|
</header>
|
|
)
|
|
}
|