import { EnvLabel } from "@/src/components/EnvLabel"; import { ItemBadge, type LangfuseItemType } from "@/src/components/ItemBadge"; import BreadcrumbComponent from "@/src/components/layouts/breadcrumb"; import DocPopup from "@/src/components/layouts/doc-popup"; import { SidebarTrigger } from "@/src/components/ui/sidebar"; import { cn } from "@/src/utils/tailwind"; import Link from "next/link"; type TabDefinition = { value: string; label: string; href: string; disabled?: boolean; className?: string; }; type PageTabsProps = { tabs: TabDefinition[]; activeTab: string; className?: string; listClassName?: string; }; export type PageHeaderProps = { title: string; breadcrumb?: { name: string; href?: string }[]; actionButtonsLeft?: React.ReactNode; // Right-side actions (buttons, etc.) actionButtonsRight?: React.ReactNode; // Right-side actions (buttons, etc.) help?: { description: string; href?: string; className?: string }; itemType?: LangfuseItemType; container?: boolean; tabsProps?: PageTabsProps; }; const PageHeader = ({ title, itemType, actionButtonsLeft, actionButtonsRight, breadcrumb, help, tabsProps, container = false, }: PageHeaderProps) => { return (
{/* Top Row */}
{/* Bottom Row */}
{/* Left side content */}
{itemType && (
)}

{title} {help && (   )}

{actionButtonsLeft && (
{actionButtonsLeft}
)}
{/* Right side content */}
{actionButtonsRight}
{tabsProps && (
{tabsProps.tabs.map((tab) => ( {tab.label} ))}
)}
); }; export default PageHeader;