Some checks failed
Deploy to Cloudflare Workers (OpenNext) / deploy (push) Has been cancelled
Centralize primary, secondary, tertiary, and neutral tokens and apply them across theme variables and UI components. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import Link from "next/link";
|
|
import { ticketTiers } from "@/content/tickets";
|
|
import { site } from "@/content/site";
|
|
import { Section } from "@/components/layout/Section";
|
|
import { TicketCard } from "@/components/tickets/TicketCard";
|
|
export function TicketsBand() {
|
|
return (
|
|
<Section variant="inverse" id="tickets">
|
|
<div className="relative text-center">
|
|
<p className="text-xs font-semibold uppercase tracking-widest text-[#b9d8c9]">
|
|
Tickets
|
|
</p>
|
|
<h2 className="mt-2 text-3xl font-bold uppercase tracking-tight md:text-4xl">
|
|
Get your ticket
|
|
</h2>
|
|
<p className="mx-auto mt-3 max-w-lg text-white/70">
|
|
Join 500+ attendees at {site.venue.name}, {site.venue.address}. Choose a pass below.
|
|
</p>
|
|
</div>
|
|
|
|
<div className="relative mx-auto mt-14 grid max-w-5xl gap-10 md:grid-cols-3 md:items-stretch md:gap-8">
|
|
{ticketTiers.map((tier, index) => (
|
|
<TicketCard
|
|
key={tier.id}
|
|
tier={tier}
|
|
index={index}
|
|
featured={tier.id === "summit-pass"}
|
|
/>
|
|
))}
|
|
</div>
|
|
|
|
<p className="mt-10 text-center text-sm text-white/50">
|
|
Accepted: Visa, Mastercard, AMEX ·{" "}
|
|
<Link href="/payment" className="text-[#b9d8c9] hover:underline">
|
|
Bank transfer & invoice
|
|
</Link>
|
|
</p>
|
|
</Section>
|
|
);
|
|
}
|