feat: Add NFO UI features (Task 6)

- Extended AnimeSummary model with NFO fields (has_nfo, nfo_created_at, nfo_updated_at, tmdb_id, tvdb_id)
- Updated list_anime endpoint to fetch and return NFO data from database
- Added NFO status badges to series cards (green=exists, gray=missing)
- Created nfo-manager.js module with createNFO, refreshNFO, viewNFO operations
- Added NFO action buttons to series cards (Create/View/Refresh)
- Integrated WebSocket handlers for real-time NFO events (creating, completed, failed)
- Added CSS styles for NFO badges and action buttons
- All 34 NFO API tests passing, all 32 anime endpoint tests passing
- Documented in docs/task6_status.md (90% complete, NFO status page deferred)
This commit is contained in:
2026-01-16 19:18:50 +01:00
parent d642234814
commit ecfa8d3c10
9 changed files with 699 additions and 5 deletions

View File

@@ -98,11 +98,13 @@ tvdb_id: Optional[int] = None # TVDB ID (indexed)
Three new methods added to `AnimeService`:
1. **update_nfo_status(key, has_nfo, tmdb_id, tvdb_id, db)**
- Updates NFO status for a series
- Sets creation/update timestamps
- Stores external database IDs
2. **get_series_without_nfo(db)**
- Returns list of series without NFO files
- Includes key, name, folder, and IDs
- Useful for batch operations
@@ -152,8 +154,9 @@ Task 8 is fully complete with all database fields, service methods, and comprehe
5. ✅ SQLAlchemy auto-migration support
**Time Investment:**
- Estimated: 2-3 hours
- Actual: ~2 hours
- Estimated: 2-3 hours
- Actual: ~2 hours
## 🔄 No Remaining Work