Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
283d254fb6 |
@@ -16,6 +16,24 @@ lint/typecheck/test/build pipeline.
|
||||
- **Markdown:** react-markdown + remark-gfm + shiki (server-side highlighting)
|
||||
- **Misc:** zustand, nuqs, sonner, cmdk, vaul, embla-carousel-react, date-fns,
|
||||
next-themes, recharts
|
||||
- **Motion effects:** 48 Aceternity UI effects vendored as source in
|
||||
`components/ui/` (motion + @tabler/icons-react + @tsparticles + simplex-noise),
|
||||
showcased live at `/ui`
|
||||
|
||||
## UI gallery (`/ui`)
|
||||
|
||||
48 Aceternity effects (3d-pin, bento-grid, sparkles, tracing-beam, …) vendored
|
||||
verbatim from the [Aceternity registry](https://ui.aceternity.com/components)
|
||||
and demoed live in `components/showcase/gallery.tsx`. The shadcn Base-Nova set
|
||||
(accordions, dialogs, tables, …) ships alongside in the same `components/ui/`
|
||||
dir — 110 files total.
|
||||
|
||||
| Rule | Detail |
|
||||
| ------------- | ----------------------------------------------------------------------- |
|
||||
| Source | Registry JSON, verbatim + `motion/react` / `cn` import fixes |
|
||||
| Rename | Aceternity tabs → `animated-tabs.tsx` (collides with shadcn `tabs.tsx`) |
|
||||
| Skipped | three.js trio, apple-cards-carousel (heavy deps, out of scope) |
|
||||
| Overlay demos | `MultiStepLoader` demo is state-gated — never hardcode `loading` |
|
||||
|
||||
## Getting started
|
||||
|
||||
@@ -51,7 +69,8 @@ Git hooks (husky + lint-staged) run ESLint + Prettier on staged files.
|
||||
|
||||
```
|
||||
app/
|
||||
page.tsx # landing page
|
||||
page.tsx # landing page (HomeHero: Cover + Sparkles + Spotlight)
|
||||
ui/ # /ui gallery — 48 Aceternity effects, live demos
|
||||
demo/ # wiring example: markdown+shiki, form, table, session
|
||||
protected/ # route guarded by middleware (better-auth session)
|
||||
error.tsx / loading.tsx / not-found.tsx
|
||||
|
||||
+6
-2
@@ -14,8 +14,12 @@ const geistMono = Geist_Mono({
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App",
|
||||
description: "Generated by create next app",
|
||||
title: {
|
||||
default: "Next.js Template — Aceternity + shadcn",
|
||||
template: "%s — Next.js Template",
|
||||
},
|
||||
description:
|
||||
"Production-ready Next.js 16 starter on Bun with 48 vendored Aceternity UI effects, shadcn Base-Nova components, Tailwind v4, motion, better-auth and a typed API client.",
|
||||
};
|
||||
|
||||
export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
|
||||
|
||||
+3
-3
@@ -4,9 +4,9 @@ import type { Metadata } from "next";
|
||||
import { ShowcaseGallery } from "@/components/showcase/gallery";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "UI Gallery — Aceternity",
|
||||
title: "UI Gallery — Aceternity + shadcn",
|
||||
description:
|
||||
"Fifty-two Aceternity UI components vendored into the template — animated cards, beams, backgrounds, pins, marquees and more, wired for the App Router.",
|
||||
"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 = [
|
||||
@@ -36,7 +36,7 @@ export default function UiGalleryPage() {
|
||||
Aceternity UI gallery
|
||||
</h1>
|
||||
<p className="max-w-2xl text-sm leading-6 text-zinc-600 dark:text-zinc-400">
|
||||
50 components vendored straight from the{" "}
|
||||
48 Aceternity effects vendored straight from the{" "}
|
||||
<a
|
||||
href="https://ui.aceternity.com/components"
|
||||
className="font-medium text-zinc-900 underline decoration-zinc-300 underline-offset-4 hover:decoration-zinc-500 dark:text-zinc-200 dark:decoration-zinc-600"
|
||||
|
||||
@@ -34,7 +34,7 @@ export function HomeHero() {
|
||||
className="relative z-10 flex w-full max-w-4xl flex-col items-center gap-8 px-6 py-24 text-center"
|
||||
>
|
||||
<span className="rounded-full border border-zinc-200 bg-white/70 px-3 py-1 text-xs font-medium tracking-wide text-zinc-500 backdrop-blur dark:border-zinc-800 dark:bg-zinc-900/70 dark:text-zinc-400">
|
||||
Next.js 16 · Tailwind v4 · motion · 50+ Aceternity components
|
||||
Next.js 16 · Tailwind v4 · motion · 48 Aceternity effects + shadcn
|
||||
</span>
|
||||
|
||||
<h1 className="max-w-3xl text-4xl leading-tight font-semibold tracking-tight text-zinc-900 sm:text-6xl dark:text-white">
|
||||
|
||||
Reference in New Issue
Block a user