- Migrate from React/TypeScript to vanilla HTML/CSS/JS with Alpine.js - Implement all original functionality: authentication, media queue, OAuth flow - Add auto-loading of media queue on dashboard access - Enhance JWT expiration handling with proper redirects - Improve OAuth callback page with beautiful UI and status updates - Remove unused HTMX dependency - Clean up old React project files - Update README with live demo link and development instructions Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
All AI written
CatsOfMastodonGo Admin Dashboard v2
A modern, lightweight admin dashboard for reviewing media content, built with HTML, CSS, JavaScript, Alpine.js, and Tailwind CSS.
Live Demo
A live demo of the project is available at: cat.monasef.ir
Features
- Password-based authentication
- Gitea OAuth integration
- Media queue system with preloading
- Approval/rejection workflow for media content
- Responsive design for desktop and mobile
- Modern UI with smooth transitions
Tech Stack
- HTML5
- CSS3 (with Tailwind CSS)
- JavaScript (with Alpine.js for state management)
- HTMX (for enhanced interactivity)
Development Setup
- Install dependencies:
pnpm install - Start development server:
pnpm run dev - The application will be available at:
http://localhost:8080/admin/
Production Build
- Build for production:
pnpm run build - The built files will be in the
distdirectory
API Integration
The application integrates with the backend API at the following endpoints:
POST /admin/api/login- Authenticate with passwordGET /admin/api/login/oauth/gitea- Initiate Gitea OAuth flowPOST /admin/api/login/oauth/gitea/final- Complete Gitea OAuth flowGET /admin/api/getmedia- Get next media item to reviewPOST /admin/api/approve- Approve a media itemPOST /admin/api/reject- Reject a media item
Description
Languages
HTML
71.7%
JavaScript
27.3%
CSS
1%