"use client"
import type { ComponentProps, ReactNode } from "react"
import { Button } from "@/components/ui/button"
import { Separator } from "@/components/ui/separator"
import { SidebarTrigger } from "@/components/ui/sidebar"
import { cn } from "@/lib/utils"
interface SiteHeaderProps {
title: string
lead?: string
primaryAction?: ReactNode
secondaryAction?: ReactNode
primaryAlignment?: "right" | "center"
}
function SiteHeaderBase({
title,
lead,
primaryAction,
secondaryAction,
primaryAlignment = "right",
}: SiteHeaderProps) {
const actionsClassName =
primaryAlignment === "center" && !secondaryAction
? "flex w-full flex-col items-stretch gap-2 sm:w-full sm:flex-row sm:items-center sm:justify-center"
: "flex w-full flex-col items-stretch gap-2 sm:w-auto sm:flex-row sm:items-center"
return (
)
}
export function SiteHeaderPrimaryButton({
children,
className,
...props
}: ComponentProps) {
return (
)
}
export function SiteHeaderSecondaryButton({
children,
className,
...props
}: ComponentProps) {
return (
)
}
type SiteHeaderComponent = ((props: SiteHeaderProps) => JSX.Element) & {
PrimaryButton: typeof SiteHeaderPrimaryButton
SecondaryButton: typeof SiteHeaderSecondaryButton
}
export const SiteHeader: SiteHeaderComponent = Object.assign(SiteHeaderBase, {
PrimaryButton: SiteHeaderPrimaryButton,
SecondaryButton: SiteHeaderSecondaryButton,
})