Some checks failed
Deploy Explorer Live / deploy (push) Failing after 13s
- 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>
50 lines
1.6 KiB
TypeScript
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>
|
|
)
|
|
}
|