Files
cloudflare-domain-manager/apps/web/src/components/page-header.tsx
T
DenozordecandCursor f1767b8a1f
Build and Push CFDM Docker Image / build-and-push (push) Successful in 1m47s
Build and Push CFDM Docker Image / create-release (push) Skipped
Build and Push CFDM Docker Image / update-wiki (push) Successful in 5s
fix(ui): выровнять ритм Dashboard с list-страницами
PageHeader вынесен из OpsDashboard; empty чартов/очереди — EmptyState по центру.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 20:47:28 +07:00

23 lines
729 B
TypeScript

import type { ReactNode } from 'react'
interface PageHeaderProps {
title: string
description?: ReactNode
actions?: ReactNode
}
/** Page-level section header — etalon EvoBGP / Domains list. */
export function PageHeader({ title, description, actions }: PageHeaderProps) {
return (
<div className="flex flex-col gap-2 md:flex-row md:items-center md:justify-between">
<div className="flex flex-col gap-px">
<h1 className="text-2xl font-semibold tracking-tight">{title}</h1>
{description ? (
<p className="text-muted-foreground text-sm">{description}</p>
) : null}
</div>
{actions ? <div className="flex items-center gap-2">{actions}</div> : null}
</div>
)
}