diff --git a/frontend/src/components/PageHeader.module.css b/frontend/src/components/PageHeader.module.css deleted file mode 100644 index 60d9cd63..00000000 --- a/frontend/src/components/PageHeader.module.css +++ /dev/null @@ -1,37 +0,0 @@ -.spaced { - margin-bottom: 8px; -} - -.flex_between { - display: flex; - justify-content: space-between; - align-items: flex-start; - margin-bottom: 24px; - padding-bottom: 20px; - border-bottom: 1px solid var(--border); -} - -.text22 { - margin: 0; - font-size: 26px; - font-weight: 700; - background: linear-gradient(180deg, #fff, rgba(255, 255, 255, 0.6)); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - letter-spacing: -0.03em; - line-height: 1.15; -} - -.text13 { - margin: 4px 0 0; - font-size: 13px; - color: var(--text-tertiary); - font-weight: 400; -} - -.flex_center { - display: flex; - gap: 8px; - align-items: center; -} diff --git a/frontend/src/components/PageHeader.tsx b/frontend/src/components/PageHeader.tsx index 344ab8ed..916fa3fe 100644 --- a/frontend/src/components/PageHeader.tsx +++ b/frontend/src/components/PageHeader.tsx @@ -1,5 +1,5 @@ import type { ReactNode } from 'react'; -import s from './PageHeader.module.css'; +import { Cluster, Heading, Stack, Text } from '../design-system'; interface Props { title: string; @@ -8,27 +8,41 @@ interface Props { breadcrumbs?: ReactNode; } +/** + * Section / page header — title, optional subtitle, optional inline actions, + * optional breadcrumb slot above. Built entirely from design-system primitives; + * no local CSS, no hard-coded sizes or colors. + * + * Public API unchanged from the legacy implementation: every consumer that + * passes `{title, subtitle, actions, breadcrumbs}` keeps working as-is. + */ export default function PageHeader({ title, subtitle, actions, breadcrumbs }: Props) { return ( -
+