Next.js 16 project dengan App Router, TypeScript, Tailwind CSS, dan shadcn/ui.
Styling & tema mengikuti Rantai Design System (design-system/): token warna OKLCH biru/navy, font Geist, dan mode gelap (dark) sebagai default.
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- shadcn/ui (komponen UI)
- lucide-react (ikon)
- next-themes (dark mode)
- clsx (utility class names)
src/
├── app/ # App Router (layout, page, routes)
├── components/
│ ├── ui/ # Komponen shadcn/ui
│ └── shared/ # Komponen shared (ThemeProvider, dll)
├── lib/ # Utilitas (utils, config)
├── hooks/ # Custom React hooks
└── types/ # TypeScript types/interfaces
# Install dependencies (jika belum)
npm install
# Development
npm run devBuka http://localhost:3000.
# Build production
npm run build
# Jalankan production
npm start-
Lihat daftar komponen
- Buka shadcn/ui Components
-
Tambahkan komponen via CLI
npx shadcn@latest add <nama-komponen>
Contoh:
npx shadcn@latest add card npx shadcn@latest add dialog npx shadcn@latest add input
-
Lokasi file
- Komponen akan ditambahkan di
src/components/ui/(sesuaicomponents.json).
- Komponen akan ditambahkan di
-
Cara pakai
import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader } from "@/components/ui/card" export default function Page() { return ( <Card> <CardHeader>Judul</CardHeader> <CardContent> <Button>Klik</Button> </CardContent> </Card> ) }
@/*→./src/*(sudah dikonfigurasi ditsconfig.json)
Project memakai next-themes lewat ThemeProvider dari design system (@rantai/design-system/components/theme-provider) di src/app/layout.tsx. Sesuai design system, mode dark dipaksa (forced). Untuk mengaktifkan toggle light/dark, hapus prop forcedTheme di komponen tersebut.