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]>
This commit is contained in:
Mathieu Moran
2026-02-01 10:08:15 -05:00
co-authored by Claude Opus 4.5
parent 087f4f4023
commit 6186f3a051
10 changed files with 391 additions and 54 deletions
+14 -1
View File
@@ -40,7 +40,20 @@
</button>
<div class="container d-flex justify-content-center align-items-center vh-100">
<div class="card p-4" style="max-width: 400px;">
<!-- Setup needed banner (hidden by default) -->
<div id="setup-needed-card" class="card p-4 d-none" style="max-width: 400px;">
<div class="text-center mb-4">
<img src="img/logo.png" class="logo-invert" style="width: 80%;" alt="Pool Oscars">
</div>
<div class="alert alert-warning mb-3">
<strong>Configuration requise</strong><br>
L'application doit d'abord être configurée par un administrateur.
</div>
<a href="/" class="btn btn-primary w-100">Aller à la page de configuration</a>
</div>
<!-- Normal registration card -->
<div id="register-card" class="card p-4" style="max-width: 400px;">
<div class="text-center mb-4">
<img src="img/logo.png" class="logo-invert" style="width: 80%;" alt="Pool Oscars">
</div>