A modern web application template combining the power of Next.js 15, Mantine UI components, and Tailwind CSS.
- Next.js 15 with App Router and Turbopack
- Mantine 7 - Beautiful React components library
- Tailwind CSS - Utility-first CSS framework
- TypeScript - Type safety out of the box
- Custom theme with color palette based on
#78c2ad - Demo pages showcasing:
- 20+ Mantine components
- 10+ Mantine hooks with live examples
bun installRun the development server:
bun devOpen http://localhost:3000 to see the application.
nextjs-mantine-tailwind/
├── app/
│ ├── components/ # Mantine components demo page
│ ├── hooks/ # Mantine hooks demo page
│ ├── globals.css # Global styles with Tailwind
│ ├── layout.tsx # Root layout with Mantine Provider
│ └── page.tsx # Home page
├── theme.ts # Mantine theme configuration
├── tailwind.config.ts # Tailwind configuration
├── postcss.config.mjs # PostCSS config for Mantine + Tailwind
└── next.config.ts # Next.js configuration
This project uses a special configuration to make Mantine and Tailwind work together seamlessly:
- PostCSS Configuration: Uses
postcss-preset-mantinealongside Tailwind - Tailwind Config: Disables preflight to avoid conflicts with Mantine's base styles
- Theme System: Custom color palette matching
#78c2ad
The theme includes a custom teal color palette:
- Primary color:
#78c2ad - Configured in both
theme.ts(Mantine) andtailwind.config.ts
Landing page with project overview and navigation
Interactive showcase of Mantine components including:
- Buttons (variants, loading states)
- Form inputs (text, textarea, select)
- Toggles (checkboxes, switches, radios)
- Badges and avatars
- Progress bars and sliders
- Alerts and modals
- Tabs and accordions
- Action icons and menus
Live demonstrations of Mantine hooks:
useDisclosure- Boolean state managementuseToggle- Toggle between valuesuseCounter- Counter with constraintsuseClipboard- Clipboard operationsuseLocalStorage- localStorage syncuseViewportSize- Viewport dimensionsuseMediaQuery- Media query matchinguseHover- Hover detectionuseFocusWithin- Focus detectionuseInterval- Interval managementuseTimeout- Timeout management
This project follows Next.js and React best practices:
- Server Components by default (pages marked with
"use client"only when needed) - Optimized package imports for Mantine
- TypeScript for type safety
- ESLint for code quality
- Proper separation of concerns
MIT