Files
explorer-monorepo/frontend/src/components/common/PageIntro.tsx
defiQUG 654933cb36
Some checks failed
Deploy Explorer Live / deploy (push) Failing after 13s
fix(explorer): normalize token market liquidityUsd client-side
- Mirror token-aggregation liquidity scaling in tokenAggregation API layer
- Tokens page and shared brand/layout tweaks
- deploy-live workflow adjustment

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 12:55:08 -07:00

50 lines
1.6 KiB
TypeScript

import Link from 'next/link'
export interface PageIntroAction {
href: string
label: string
}
export default function PageIntro({
eyebrow,
title,
description,
actions = [],
}: {
eyebrow?: string
title: string
description: string
actions?: PageIntroAction[]
}) {
return (
<section className="mb-5 border-b border-gray-200 pb-5 dark:border-gray-800 sm:mb-6 sm:pb-6">
<div className="flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between">
<div className="min-w-0">
{eyebrow ? (
<div className="mb-2 text-[11px] font-semibold uppercase tracking-[0.18em] text-primary-700 dark:text-primary-300">
{eyebrow}
</div>
) : null}
<h1 className="text-2xl font-semibold tracking-normal text-gray-950 dark:text-white sm:text-3xl">{title}</h1>
<p className="mt-2 max-w-3xl text-sm leading-6 text-gray-600 dark:text-gray-400">
{description}
</p>
</div>
{actions.length > 0 ? (
<div className="flex flex-wrap gap-2 lg:justify-end">
{actions.map((action) => (
<Link
key={`${action.href}-${action.label}`}
href={action.href}
className="rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm font-medium text-gray-700 transition hover:border-primary-400 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-200 dark:hover:text-primary-300"
>
{action.label}
</Link>
))}
</div>
) : null}
</div>
</section>
)
}