Modern React frontend for the Screen Surgeon client device management portal.
- ✅ 12 full-featured pages
- ✅ Design system integration (GlassCard, GoldButton, StatusBadge, DataTable, etc)
- ✅ Light mode (default) + Dark mode
- ✅ Responsive design with Tailwind CSS
- ✅ TypeScript for type safety
- ✅ API integration with Flask backend
- ✅ Authentication & session management
- Dashboard - Overview with stats and recent activity
- Active Devices - Device list with filtering and status badges
- Active Incidents - Ticket list with priority and status
- Ticket Detail - Full ticket view with history
- Service History - Historical repairs and maintenance
- Profile - User settings and preferences
- Billing - Subscription and device management
- Pricing - Plan comparison and upgrades
- Notifications - Notification center
- New Incident - Create new support ticket
- SLA Dashboard - SLA metrics and compliance
- Analytics - Operational metrics and trends
npm installnpm run devAccess at http://localhost:5173
npm run build
npm run previewCreate a .env.local file:
VITE_API_URL=http://localhost:5000For production, update to your Flask backend URL:
VITE_API_URL=https://your-flask-backend.railway.appdocker build -t screen-surgeon-client .
docker run -p 3000:3000 screen-surgeon-clientrailway login
railway upThe app will be deployed and accessible at your Railway domain.
- Frontend: React + TypeScript + Vite
- Styling: Tailwind CSS + Design System Components
- State: React hooks (useState, useContext)
- Routing: React Router v7
- HTTP Client: Axios
- Icons: Lucide React
- Backend API: Flask (existing)
All API calls go through src/api/client.ts. The app connects to the existing Flask backend endpoints:
GET /devices- List devicesGET /tickets- List ticketsPOST /ticket- Create ticketGET /profile- User profile- etc.
No changes needed to the Flask backend. This is a drop-in replacement frontend.
© 2024 Screen Surgeon