An authentic Tron: Ares inspired theme system for shadcn/ui
π Live Demo
Enter the Grid. Build immersive digital experiences.
The GridCN is a comprehensive design system that brings the iconic visual language of Tron: Ares to modern web development. Built on top of shadcn/ui, it provides 50+ fully-styled components, 6 Greek god-inspired themes, movie-accurate UI elements, and immersive 3D effects powered by Three.js.
π Visit the live site: thegridcn.com | Components Showcase
- π¨ 6 Unique Themes - Greek god-inspired color schemes (Ares, Tron, Clu, Athena, Aphrodite, Poseidon)
- π§© 50+ Components - Complete shadcn/ui library with authentic Tron styling
- π¬ Movie UI Elements - Data cards, HUD components, timers, alerts, and radar displays
- β¨ 3D Effects - Immersive Three.js grid, particles, and light beams
- π― Glow Utilities - CSS utilities for neon glows, scanlines, and pulsing animations
- π TypeScript - Full type safety with comprehensive TypeScript definitions
- π Theme Switching - Dynamic theme system with persistent storage
- Node.js 18+
- pnpm (recommended) or npm/yarn
# Clone the repository
git clone https://github.com/yourusername/project-ares.git
cd project-ares
# Install dependencies
pnpm install
# Run the development server
pnpm devOpen http://localhost:3000 in your browser to see the result.
pnpm build
pnpm startproject-ares/
βββ src/
β βββ app/ # Next.js app directory
β β βββ components/ # Components showcase page (/components)
β β β βββ page.tsx # Components page
β β βββ page.tsx # Homepage (/)
β β βββ globals.css # Global styles & theme definitions
β βββ components/
β β βββ ui/ # shadcn/ui base components (55+)
β β βββ thegridcn/ # Tron-inspired UI, 3D, effects, and movie components
β β βββ theme/ # Theme provider & switcher
β β βββ showcase/ # Component showcase sections
β β βββ layout/ # Layout components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
β βββ registry/ # Component registry config
βββ public/ # Static assets
βββ components.json # shadcn/ui configuration
The project consists of two main pages:
- Home (
/) - Landing page with theme selector, features, and project overview - Components (
/components) - Interactive showcase of all available components
The GridCN includes 6 unique themes inspired by Greek mythology and Tron characters:
| Theme | Color | Inspiration |
|---|---|---|
| Ares | Red (#ff3333) | God of War - Main movie theme |
| Tron | Cyan (#00d4ff) | User - Classic Tron aesthetic |
| Clu | Orange (#ff6600) | Program - Antagonist theme |
| Athena | Gold (#ffd700) | Goddess of Wisdom |
| Aphrodite | Pink (#ff1493) | Goddess of Love |
| Poseidon | Blue (#0066ff) | God of Sea |
Each theme includes:
- Custom color palettes with OKLCH color space
- Glow effects matching the theme color
- Chart color schemes
- Sidebar styling
- Border and accent colors
All shadcn/ui components are available with Tron styling:
- Layout: Card, Separator, Sidebar, Sheet, Drawer
- Forms: Input, Textarea, Select, Checkbox, Radio, Switch, Slider
- Navigation: Button, Navigation Menu, Menubar, Breadcrumb, Pagination
- Feedback: Alert, Toast (Sonner), Progress, Skeleton, Spinner
- Overlays: Dialog, Popover, Tooltip, Hover Card, Context Menu
- Data Display: Table, Chart, Avatar, Badge, Calendar
- And more...
TronReticle- Scanning reticle overlayTronDossierCard- Movie-accurate data cardTronStatusStrip- HUD status barTronUplinkHeader- Header bar with system infoTronRadar- Proximity radar displayTronDerezCountdown- De-resolution timerTronGridMap- Grid map overlayTronGridScanOverlay- Scanning grid effectTronThemeDossierSelector- Theme selector with dossier cards
TronGrid3D- Interactive 3D grid with particles and light beamsTronTunnel- 3D tunnel effectTronGrid- 3D grid floor
Wrap your app with the ThemeProvider:
import { ThemeProvider } from "@/components/theme";
export default function RootLayout({ children }) {
return (
<html>
<body>
<ThemeProvider defaultTheme="ares">{children}</ThemeProvider>
</body>
</html>
);
}import { useTheme } from "@/components/theme";
function MyComponent() {
const { theme, setTheme } = useTheme();
return <button onClick={() => setTheme("tron")}>Switch to Tron theme</button>;
}import { Button } from "@/components/ui/button";
import { DataCard } from "@/components/thegridcn";
export function MyPage() {
return (
<div>
<Button>Enter the Grid</Button>
<DataCard
subtitle="PROGRAM"
title="FLYNN"
status="active"
fields={[
{ label: "STATUS", value: "ACTIVE" },
{ label: "TYPE", value: "USER" },
]}
/>
</div>
);
}The theme system uses CSS custom properties (CSS variables) defined in src/app/globals.css. You can customize:
- Color schemes by modifying the theme CSS variables
- Border radius by adjusting
--radiusvalues - Font families via
--font-orbitronand--font-rajdhani - Glow effects through
--glowand--glow-mutedvariables
- Next.js 16.1 - React framework with App Router
- React 19.2 - UI library
- TypeScript 5 - Type safety
- Tailwind CSS 4 - Utility-first CSS
- shadcn/ui - Component library
- Three.js - 3D graphics library
- Radix UI - Unstyled, accessible components
- next-themes - Theme management
The project includes two pages:
- Home Page (thegridcn.com) - Features the theme system, project overview, and key information
- Components Page (thegridcn.com/components) - Interactive showcase of all 50+ components with live examples
Themes are defined using CSS custom properties in src/app/globals.css. Each theme uses the [data-theme="theme-name"] selector to apply its color scheme.
- Use Tailwind utility classes for layout and spacing
- Leverage CSS variables for theme-aware colors
- Apply glow effects using the
glow-textutility class - Use border utilities with
border-primaryfor Tron-style borders
The easiest way to deploy is using the Vercel Platform:
- Push your code to GitHub
- Import your repository in Vercel
- Deploy!
The project is optimized for Vercel's platform and will work out of the box.
This is a standard Next.js application and can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- AWS Amplify
- Any Node.js hosting service
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is open source and available under the MIT License.
- shadcn/ui for the amazing component library
- Tron: Ares for visual inspiration
- Radix UI for accessible primitives
- Three.js for 3D capabilities
If you have any questions or need help, please:
- Open an issue on GitHub
- Visit the live site to see components in action
- Check the Usage Guide section above
Built with β€οΈ for the Grid
End of Line