A modern, interactive showcase for Discord bots built with React, Vite, and Tailwind CSS. Features a beautiful glassmorphism design, smooth animations, and a powerful admin panel for managing your bot collection.
- Modern Design: Glassmorphism effects, gradients, and smooth animations
- Interactive Cards: Hover effects, status badges, and feature pills
- Advanced Search: Real-time search across bot names, descriptions, and features
- Smart Filtering: Filter by status (active, beta, maintenance)
- Detailed Modals: Tabbed interface with overview, features, media, changelog, and legal info
- Media Gallery: Screenshot galleries with lightbox and video player support
- Responsive: Works perfectly on mobile, tablet, and desktop
- Dark Mode: Built-in dark theme (light mode toggle ready)
- Password Protected: Secure access to management features
- Drag & Drop Reordering: Easily reorganize your bot list
- Add/Edit/Delete: Full CRUD operations for bots
- Bulk Operations: Export/import bot data as JSON
- Live Preview: Changes reflect immediately
- Data Persistence: Uses localStorage with JSON backup
- Intuitive Interface: Beautiful forms with validation
- Node.js 18+ installed
- Git repository connected to GitHub
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Run
npm run dev - Open http://localhost:5173/litarena/
- Make changes to components in
src/components/ - Changes hot-reload automatically
- Navigate to
/admin - Default password:
litarena2025 - Manage your bots:
- Add: Click "Add Bot" button
- Edit: Click pencil icon on any bot
- Delete: Click trash icon (with confirmation)
- Reorder: Drag bots using the grip icon
- Export: Download bot data as JSON
- Import: Upload JSON to restore/update data
The admin password is stored in localStorage. To change it:
localStorage.setItem('adminPassword', 'your-new-password');litarena/
βββ src/
β βββ components/
β β βββ Header.jsx # Top navigation bar
β β βββ SearchBar.jsx # Search functionality
β β βββ FilterBar.jsx # Status filters
β β βββ BotGrid.jsx # Grid layout
β β βββ BotCard.jsx # Individual bot cards
β β βββ BotModal.jsx # Detailed bot view
β βββ data/
β β βββ bots.json # Bot database
β βββ App.jsx # Main application
β βββ index.css # Global styles
β βββ main.jsx # Entry point
βββ public/ # Static assets
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions deployment
βββ dist/ # Build output (generated)
βββ package.json
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind CSS config
βββ postcss.config.js # PostCSS config
Edit tailwind.config.js to customize the color scheme:
colors: {
primary: { ... }, // Main blue colors
accent: { ... }, // Purple accent colors
}Animations are configured in tailwind.config.js and can be adjusted:
fade-in: Opacity transitionslide-up: Slide up with fadescale-in: Scale with fadeglow: Pulsing glow effect
Each bot in src/data/bots.json has the following structure:
{
"id": "unique-id",
"name": "Bot Name",
"icon": "https://url-to-icon.png",
"description": "Bot description",
"status": "active|beta|maintenance",
"features": ["Feature 1", "Feature 2"],
"screenshots": ["https://url1.jpg"],
"videos": ["https://url-to-video.mp4"],
"pricing": null,
"changelog": [...],
"tos": {...},
"privacy": {...}
}This project is pre-configured for GitHub Pages deployment:
-
Enable GitHub Pages:
- Go to your repository settings
- Navigate to "Pages"
- Source: GitHub Actions
-
Push to GitHub:
git add . git commit -m "Initial commit" git push origin main
-
Automatic Deployment:
- GitHub Actions will automatically build and deploy
- Check the "Actions" tab for deployment status
- Site will be live at:
https://yourusername.github.io/litarena/
# Build the project
npm run build
# Deploy the dist/ folder to your hosting provider- React 19: UI framework
- Vite: Build tool and dev server
- Tailwind CSS 3: Utility-first CSS
- Framer Motion: Animation library
- React Router: Client-side routing
- @hello-pangea/dnd: Drag and drop
- Lucide React: Icon library
- Go to
/admin - Click "Add Bot"
- Fill in the form
- Click "Save Bot"
- Edit
src/data/bots.json - Add a new bot object
- Save the file
- Rebuild:
npm run build
- Create a JSON file with your bots
- Go to admin panel
- Click import icon
- Select your JSON file
To add demo videos to a bot:
- Edit bot in admin panel
- Add video URLs (one per line):
- Direct MP4 links:
https://example.com/demo.mp4 - YouTube embeds:
https://www.youtube.com/embed/VIDEO_ID - Other embeddable videos
- Direct MP4 links:
The modal will automatically display videos in a responsive player.
- Primary: Data stored in
src/data/bots.json - Runtime: Admin changes saved to localStorage
- Backup: Export JSON regularly from admin panel
- Recovery: Import JSON to restore previous state
- Admin password stored in localStorage (client-side only)
- No backend authentication
- Suitable for trusted environments
- For production, consider implementing proper auth
# Clear node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
npm run build# Clear Vite cache
rm -rf node_modules/.vite
npm run dev- Ensure
base: '/litarena/'invite.config.jsmatches your repo name - Check GitHub Pages settings in repository
All rights reserved Β© 2025 Lit Arena Development
For support, email support@litarena.com
Built with β€οΈ using React and Vite