Commit Graph
30 Commits
Author SHA1 Message Date
Mathieu Moran 4308d6babf Implement en/fr localization across admin and user UIs
Introduce client-side localization helper and en/fr locale bundles.

Route admin control, picks, movies, stats, winners and settings UIs through i18n keys instead of hardcoded text.

Remove French text from the English UI and standardize shared messages (saving, network errors, confirmations).

Update .gitignore to ignore editor metadata and localization helper artifacts.
2026-02-01 20:20:02 -05:00
Mathieu MoranandClaude Opus 4.5 6186f3a051 Add movie runtime, bulk OMDb refresh, and first-time setup
- Add runtime field to Movie model and display formatted duration (e.g., 2h 22min) on movie cards
- Add bulk "Refresh OMDb" button in admin panel for selected movies
- Add runtime field to movie edit modal in admin panel
- Implement first-time setup flow: show admin creation form on login page when no admin exists
- Block registration page until initial setup is complete

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-02-01 10:08:15 -05:00
Mathieu Moran 01c478aafe Theme rework: polish dark mode and previews
Refine mobile nav layout, improve dark theme UI polish, and update README previews with light/dark variants.
2026-01-26 01:47:17 -05:00
Mathieu Moran a30bbcf514 oops, fixed the embarrassing French label
Corrected the movies page label to proper French.
2026-01-25 18:09:11 -05:00
Mathieu Moran 86a25b77e8 Allow clearing ratings and polish movies UI
Enable toggling ratings off by re-clicking the same star in the player and movie list, and tighten the movies card layout around rating and categories.
2026-01-25 17:58:50 -05:00
Mathieu Moran fe21a12c82 Add user movie ratings and refresh movie cards
Store per-user 5-star ratings with averages and surface them in the player. Refresh movie list layout to show ratings and details in a cleaner card layout.
2026-01-25 16:16:07 -05:00
Mathieu Moran b00280e9e4 Add CAM tagging to movies
Store a CAM flag in the movie model and expose it via the admin add/edit flow, then render a CAM badge on movie posters in the films page.
2026-01-22 14:26:43 -05:00
Mathieu MoranandCursor Agent e0d5531041 Movie watch progression tracking (#63)
* feat: Add movie playback progress display and API

Co-authored-by: mathieumoran1 <[email protected]>

* Add padding to bottom of movies page

Co-authored-by: mathieumoran1 <[email protected]>

* Fix: Hide resume/progress bar when near end of video

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 19:58:37 -05:00
Mathieu MoranandCursor Agent 79b9f4a5a3 Statistics page redesign (#60)
* feat: Add modal to display watched movies with details

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie modal: remove search, improve category display

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie category display to use details element

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie playback and add clickability to stats

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve movie linking and player logic

Co-authored-by: mathieumoran1 <[email protected]>

* Prevent caching of sensitive and dynamic API data

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Prevent caching of sensitive admin data

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Add no-cache headers to API requests

Co-authored-by: mathieumoran1 <[email protected]>

* Remove unused movie sorting functionality

The movie sorting dropdown and its associated logic were removed as they are no longer needed.

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin settings to use tabs instead of accordion

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Adjust button layout for active year selection

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor active year selection UI

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve admin settings layout for better responsiveness

Co-authored-by: mathieumoran1 <[email protected]>

* Remove redundant completion explanation from user-stat.html

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor user stats page to display year in ranking tab badge

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Rename 'Finisseur(s)' column to 'Nombre'

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Remove redundant completer count column

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 18:16:37 -05:00
Mathieu MoranandCursor Agent 421206d280 Checklist styling update (#53)
* Refactor checklist styling and structure

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie display and styling for better UI

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Add page loader component and integrate into player

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Adjust IMDB icon size and alignment

Co-authored-by: mathieumoran1 <[email protected]>

* Feat: Show admin status on player page

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 05:36:33 -05:00
Cursor Agentandmathieumoran1 0c488319f6 Refactor: Rename "Oscar Pool" to "Pool Oscars" in titles
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:33:32 +00:00
Cursor Agentandmathieumoran1 76e9a934d6 Refactor: Update brand name and dynamic titles
Consistently use "Oscar Pool" as the brand name. Dynamically update page titles to include the active Oscar year.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:31:26 +00:00
Cursor Agentandmathieumoran1 1bc65ebd77 Refactor page loader to use a dedicated JS class
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 22:04:58 +00:00
Cursor Agentandmathieumoran1 d9ed2cdc92 Refactor: Preload page loader and use DOMContentLoaded
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:59:02 +00:00
Cursor Agentandmathieumoran1 00f5328c75 Refactor: Simplify page loader UI and error handling
Remove subtitle and retry button from page loader. Update CSS for new loader style.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:54:59 +00:00
Cursor Agentandmathieumoran1 d683f04305 Fix page loader alignment with dynamic navbar
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:53:19 +00:00
Cursor Agentandmathieumoran1 fa0ba74682 feat: Implement full-page loader with progress bar
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:50:24 +00:00
Cursor Agentandmathieumoran1 377c5a828e Refactor loading indicators to use CSS dots
This change replaces inline spinners with a more subtle CSS-based loading indicator. It also cleans up the inline loading text to be more concise.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:44:49 +00:00
Cursor Agentandmathieumoran1 34852ce931 Refactor: Fetch movie summary data separately
This change fetches movie counts and watched status in a separate, faster API call. This allows the UI to update header information (like movie counts and last updated time) much sooner, improving perceived performance. The `watchedMovies` array is now fetched as part of this summary endpoint.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:40:16 +00:00
Cursor Agentandmathieumoran1 e318e25ed1 Add loading and error states for movie lists
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:29:21 +00:00
Cursor Agentandmathieumoran1 3884ce6492 feat: Add compression and caching to movie routes
Adds gzip compression middleware and an in-memory cache for movie data to improve performance. Also adds database indexes for common query patterns.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:24:27 +00:00
Cursor Agentandmathieumoran1 e326ead817 feat: Allow configuring Oscar date per year
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 21:03:55 +00:00
Mathieu Moran dbaed3a629 update preview 2025-12-21 13:42:07 -05:00
Cursor Agentandmathieumoran1 b72f1bde82 Refactor movie player and navigation logic
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 00:50:45 +00:00
Cursor Agentandmathieumoran1 2a74ed38de Add movie player link and API endpoint
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-21 00:20:37 +00:00
Cursor Agentandmathieumoran1 c83b4685a2 feat: Implement password reset and change functionality
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-20 23:13:51 +00:00
Cursor Agentandmathieumoran1 6cb503fe35 feat: Show last updated movies per year
Add API and UI to display the last updated movies for the active year.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-20 23:01:24 +00:00
Cursor Agentandmathieumoran1 7ff02207f6 feat: Implement dynamic Oscar year selection
This commit introduces the ability to select and manage the active Oscar year. This change affects page titles, API requests, and data filtering across the application, ensuring that all views and statistics are relevant to the chosen year.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-20 22:48:11 +00:00
Cursor Agentandmathieumoran1 f07547cc59 Update Oscars year to 2026 and add admin page
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-20 21:20:05 +00:00
quoije 0c1f148fe5 fix things, speed things up a little (scuffed) 2025-02-05 19:22:07 -05:00