import { Suspense } from "react"; import Link from "next/link"; import type { Metadata } from "next"; import { ShowcaseGallery } from "@/components/showcase/gallery"; export const metadata: Metadata = { title: "UI Gallery — Aceternity + shadcn", description: "Forty-eight Aceternity UI effects vendored into the template — animated cards, beams, backgrounds, pins, marquees and more, wired for the App Router, alongside the full shadcn Base-Nova set.", }; const SECTIONS = [ "3D Pin / Marquee", "Backgrounds & Beams", "Cards & Hover", "Text Effects", "Inputs & Buttons", ]; export default function UiGalleryPage() { return (

Aceternity UI gallery

48 Aceternity effects vendored straight from the{" "} Aceternity registry {" "} and wired for this template. Everything below is live — hover, click and scroll.

{SECTIONS.map((s) => ( {s} ))}
Loading gallery…
} > ); }