29 lines
799 B
TypeScript
29 lines
799 B
TypeScript
"use client";
|
|
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface PageHeaderProps {
|
|
title: string;
|
|
description?: React.ReactNode;
|
|
children?: React.ReactNode;
|
|
className?: string;
|
|
}
|
|
|
|
export function PageHeader({ title, description, children, className }: PageHeaderProps) {
|
|
return (
|
|
<div className={cn("flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4", className)}>
|
|
<div className="min-w-0">
|
|
<h1 className="text-2xl sm:text-3xl font-bold tracking-tight truncate">{title}</h1>
|
|
{description && (
|
|
<p className="text-muted-foreground mt-1 text-sm sm:text-base">{description}</p>
|
|
)}
|
|
</div>
|
|
{children && (
|
|
<div className="flex items-center gap-2 shrink-0">
|
|
{children}
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|