26 lines
742 B
TypeScript
26 lines
742 B
TypeScript
import { ReactNode } from "react";
|
|
|
|
interface PageHeaderProps {
|
|
title: string;
|
|
subtitle?: string;
|
|
actions?: ReactNode;
|
|
}
|
|
|
|
export function PageHeader({ title, subtitle, actions }: PageHeaderProps) {
|
|
return (
|
|
<header className="px-4 pt-6 pb-4 flex items-start justify-between gap-4">
|
|
<div>
|
|
<h1 className="text-display font-display" style={{ fontWeight: 600, lineHeight: 1.15, letterSpacing: "-0.01em" }}>
|
|
{title}
|
|
</h1>
|
|
{subtitle && (
|
|
<p className="text-mono mt-1" style={{ color: "var(--color-text-muted)" }}>{subtitle}</p>
|
|
)}
|
|
</div>
|
|
{actions && <div className="flex items-center gap-2 shrink-0">{actions}</div>}
|
|
</header>
|
|
);
|
|
}
|
|
|
|
export default PageHeader;
|