summaryrefslogtreecommitdiff
path: root/templates
AgeCommit message (Collapse)Author
2026-05-09Show ratings inline with year/director using brand logosTyler Hoang
IMDb, Rotten Tomatoes, and Metacritic scores now appear on the same row as the subtitle with SVG brand logos instead of plain text chips. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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-09Center stars with h1 by moving eyebrow above flex rowTyler Hoang
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Fix form order: move TMDB panel after heading inside formTyler Hoang
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Fix star alignment in form headingTyler Hoang
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Move star rating to form heading, remove from field gridTyler Hoang
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Replace stars dropdown with inline star picker on add/edit formTyler Hoang
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Auto-select today's date on add form; clean up rewatch history panelTyler Hoang
- Default date_watched to today when adding a new film (JS, en-CA locale) - Match rewatch history by tmdb_id when available, fall back to title - Replace inline styles in rewatch section with CSS classes - Simplify redundant Jinja conditions (rewatch_history and, loop.length > 1) - Move review-panel margin-top hack to .review-panel-spaced class Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07Fix year-review panel spacingTyler Hoang
Add margin-top to highlights section to match grid gap (24px). Remove margin-bottom from review-panel and rely on grid gap for internal spacing. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-07Hide solo from companions panel in year-in-reviewTyler Hoang
Solo watches aren't relevant to the companions breakdown. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-07Add rewatch history to film detail pageTyler Hoang
Display all watches for a film with dates, ratings, and companions. Show time elapsed between rewatches and highlight when rating changed. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-07Remove rewatch rate metricTyler Hoang
The rewatch rate (percentage of films rewatched) is less useful than the detailed rewatch patterns panel. Removed the metric section from both the template and backend payload. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-07Move rewatches panel to sit right of rewatch rateTyler Hoang
Changed rewatch patterns panel from stats-panel-wide to regular stats-panel so it displays in the two-column grid next to the rewatch rate metric. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-07Add rewatch patterns stats panelTyler Hoang
Adds a "Rewatches" section to /stats that displays films you've watched multiple times, grouped by title. For each rewatched film, shows: - Watch count (e.g., "3×") - Rating history (e.g., ✦ → ✦✦ → ✦) with accent highlight when ratings drift - Days between first and last watch Changes: - routers/stats.py: Group films by title in _build_stats_payload, compute rewatch details (ratings, days between, rating change flag), add rewatch_patterns key - templates/stats.html: Add "Rewatches" panel HTML and JS renderer (renderLists) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06minor fixTyler Hoang
2026-05-06Add /about page with rating system explanationTyler Hoang
Introduces a public-facing /about page that explains the 1-3 star rating rubric with real examples pulled from the diary. Each star tier displays 3 randomly-selected, unique films (deduplicated by title to avoid rewatch duplicates). Changes: - New routers/about.py: GET /about queries films by stars, dedupes, randomizes - New templates/about.html: Page with eyebrow, h1, three tier sections with example film cards, closing philosophy, and View Profile button - main.py: Import about router, register it, add /about to public_paths in AuthMiddleware - templates/base.html: Add About nav link after Stats - templates/profile.html: Add About link to /tyler nav - templates/login.html: Add About and View Profile buttons in footer, plus "Made with Lumière" repo link Co-Authored-By: Claude Haiku 4.5 <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-06Add search, filter, and sort functionality to film shelvesTyler Hoang
- Add _SORT_COLUMNS dict to routers/films.py with 8 sort options - Extend _get_shelf_query to accept q (search) and sort parameters - Update /films/partial endpoint to accept q/sort query params and pass search_active to template to suppress month grouping when searching - Add filter bar (search input + sort select) to templates/index.html - Add data-shelf attribute to #film-feed for JS to read current shelf - Rewrite infinite scroll JS to support debounced search (300ms), feed reset on filter/sort change, and pass params on all fetches Filters text search by title OR director (case-insensitive ilike). Sort options: date watched (newest/oldest), title (A-Z/Z-A), year, stars. Month grouping disabled when search is active. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Hide solo from watched with stats listTyler Hoang
Filter out 'solo' entries from the watched_with_breakdown on the stats page so only companions are shown. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add hamburger menu for mobile navigationTyler Hoang
Hide nav-actions on mobile (<= 760px) and show a hamburger menu button instead. Menu opens/closes on click and closes when a link is clicked or when clicking outside. Hamburger icon created with CSS pseudo-elements. 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-06Add tabs to public profile: Overview and All FilmsTyler Hoang
- Add tab navigation for switching between overview stats and full filmography - All Films tab loads diary entries with infinite scroll - Lazy load films only when tab is selected Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add favicon to LumièreTyler Hoang
- Create gold cinema-themed SVG favicon - Add to base.html and profile.html templates Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add authentication, public profile, and infinite scrollTyler Hoang
- Implement session-based auth with argon2 password hashing - Add login form and logout button in nav - Create public /tyler profile page with curated stats - Implement infinite scroll for film lists (load 20 at a time) - Add lazy loading for poster images - Fix profile page CSS to use dark theme variables - Use consistent star character (✦) across all pages - Add /films/partial endpoint for pagination Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-06Add year review and inline diary ratingsTyler Hoang
2026-05-06init: lumiere film diaryTyler Hoang