This commit introduces a new API endpoint for browsing folders, utilizing tkinter for a native folder picker dialog. The Scan component has been updated to integrate this functionality, allowing users to select folders more easily. If the native picker is unavailable, a browser-based fallback is implemented, ensuring a seamless user experience. Additionally, the input field for batch size has been modified to restrict input to numeric values only, improving data validation. Documentation has been updated to reflect these changes.
PunimTag Frontend
React + Vite + TypeScript frontend for PunimTag.
Setup
cd frontend
npm install
Development
Start the dev server:
npm run dev
The frontend will run on http://localhost:3000
Make sure the backend API is running on http://127.0.0.1:8000
Default Login
- Username:
admin - Password:
admin
Features (Phase 1)
- ✅ Login page with JWT authentication
- ✅ Protected routes with auth check
- ✅ Navigation layout (left sidebar + top bar)
- ✅ Dashboard page (placeholder)
- ✅ Search page (placeholder)
- ✅ Identify page (placeholder)
- ✅ Auto-Match page (placeholder)
- ✅ Tags page (placeholder)
- ✅ Settings page (placeholder)
Project Structure
frontend/
├── src/
│ ├── api/ # API client and endpoints
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components
│ ├── App.tsx # Main app component
│ ├── main.tsx # Entry point
│ └── index.css # Tailwind CSS
├── index.html
├── package.json
├── vite.config.ts
└── tailwind.config.js