summaryrefslogtreecommitdiff
path: root/services
AgeCommit message (Collapse)Author
2026-05-09Add IMDb, Rotten Tomatoes, and Metacritic ratings to film detailTyler Hoang
Fetches ratings from OMDB API in parallel with TMDB context. Displays three side-by-side chips between the subtitle and watch log panels. Requires OMDB_API_KEY in .env; degrades silently if missing or no match. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Add genre tracking and year-in-review improvementsTyler Hoang
Adds genre field to Film model with TMDB enrichment. Genres populate from TMDB detail fetch during add/edit and bulk enrichment. Genre metadata displays on film cards, detail page (Production section), stats page (top genres panel), and year-in-review (by decade and genre breakdowns). Auto-detects rewatches when adding films via TMDB autocomplete - if a film with the same TMDB ID already exists in diary, pre-fills rewatch checkbox and count. Rewatch count now displays on film cards as "Rewatch #N". Stats page now shows: - Top genres (most watched) - Film decades (sorted chronologically) - Already shows: directors, companions, star distribution, rewatch rate Year-in-review shows decades and genres alongside monthly activity and companions. Bulk enrichment endpoint (/data/enrich-posters) now fetches missing genre metadata along with posters and TMDB IDs. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add TMDB poster picker to film detail pageTyler Hoang
- New movie_images() async function in services/tmdb.py fetches poster URLs from TMDB /movie/{id}/images endpoint, filtering for English and no-text posters only - New GET /tmdb/posters endpoint returns list of available posters for a TMDB ID - New POST /films/{film_id}/poster endpoint to save selected poster (mirrors the stars endpoint pattern) - Add "Change Poster" button on detail page (only shown if film has a TMDB ID) that opens a 3-column grid of posters - Selected poster gets accent border, main image updates instantly, no page reload needed - Posters are cached per load to avoid refetching on re-open Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Fix director biography fetchingTyler Hoang
- Use person details endpoint instead of search to get full biography - Search endpoint only returns truncated/partial biography - Now correctly fetches complete biography from TMDB Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add director image and biography to director pageTyler Hoang
- Fetch director profile image and biography from TMDB API - Display image next to director name with lazy loading - Show biography below director name - Gracefully handle missing data (image/biography optional) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06init: lumiere film diaryTyler Hoang