import { useRouterState } from '@tanstack/react-router';
import { Separator } from '@/components/ui/separator';
import { SidebarTrigger } from '@/components/ui/sidebar';
import { navData } from '@/lib/navData';

export function SiteHeader() {
  const pathname = useRouterState({ select: state => state.location.pathname });
  const allNavItems = [...navData.navMain, ...navData.navSecondary];
  const currentTitle
    = allNavItems.find(item =>
      item.url === '/'
        ? pathname === '/'
        : pathname.startsWith(item.url),
    )?.title ?? '工作台';

  return (
    <header className="flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)">
      <div className="flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6">
        <SidebarTrigger className="-ml-1" />
        <Separator
          orientation="vertical"
          className="mx-2 data-[orientation=vertical]:h-4"
        />
        <h1 className="text-base font-medium">{currentTitle}</h1>
      </div>
    </header>
  );
}
