Commit graph

3 commits

Author SHA1 Message Date
58588b9dbd feat(ui): une zone de dépôt par cible, pause globale (#10, #11, #13)
- une zone de dépôt par cible à la place du menu déroulant, avec pastille
  de catégorie sur chaque fichier quand il y a plusieurs cibles (#11)
- un seul sélecteur : le doublon « Parcourir un dossier » disparaît, les
  dossiers passent par glisser-déposer (#10)
- bouton « Tout mettre en pause / Tout reprendre » à côté de « Tout annuler » (#13)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 07:39:02 +02:00
5ef89e87a4 feat(ui): pause, réessayer, titres tronqués et pleine largeur
- bouton Pause/Reprendre par fichier (#6)
- bouton Réessayer sur les échecs (#7)
- noms de fichiers tronqués avec ellipse + titre au survol (#5)
- contenu pleine largeur (#4)
- cible figée à l'ajout, nouvelle tentative d'init sur 429 (#1, #3)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 20:32:41 +02:00
0962c2cc1f Page de connexion distincte avant la page de dépôt
All checks were successful
Publier l'image Docker / test (push) Successful in 22s
Publier l'image Docker / publish (push) Successful in 12s
`GET /` décide côté serveur, à chaque requête, laquelle des deux pages
servir : `public/login.html` (aucune session valide — juste le bouton
« Se connecter », aucune zone de dépôt dans le HTML) ou
`public/upload.html` (session valide — nom d'utilisateur injecté et
échappé, bouton « Se déconnecter »). Nouveau `src/routes/pages.ts`.

Simplifications côté page de dépôt, permises par cette garantie
serveur : plus de fetch `/auth/me` ni de bascule `authenticated` en
JS, plus de retrait/réinsertion de la zone de dépôt dans le DOM — elle
est toujours présente puisque la page n'est servie qu'aux sessions
valides. Une session qui expire en cours d'usage (401 sur /targets ou
/upload*) renvoie vers `/?login=expired`, qui affiche alors la vraie
page de connexion avec le message adapté.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 20:49:21 +02:00
Renamed from public/index.html (Browse further)