Le dialogue d'ajout est le dernier écran de la Médiathèque à ne pas avoir été repris. Il ne dénote pas seulement : deux de ses défauts sont des bugs de dimensionnement, et un troisième fait qu'on ne voit pas ce qu'on vient de choisir.
Nouvelle ressource
1 Rayon 20 — l'échelle de l'app va de 5 à 10.
2 Le corps se dimensionne sur l'écran, pas sur le dialogue : 960 × 540 demandés dans 512 de large.
4 Cinq fichiers choisis, et voilà tout ce qu'on en voit.
5 « Local » / « En ligne » écrits en dur, en français.
6 Deux boutons de même poids ; le primaire accepte le clic à vide.
→ Le gain principal n'est pas l'habillage : c'est la liste. On voit ce qu'on a choisi, et on peut en retirer un.
Numérotés comme sur la maquette de gauche. Les trois marqués bug ne relèvent pas du goût.
| # | Ce qui cloche | Effet |
|---|---|---|
| 1 | Rayon 20 sur le dialoguenew_resource_popup.dart:22 | Hors de l'échelle de l'app (5 / 8 / 10). Exactement le défaut qu'on vient de retirer de la modale de détail. |
| 2 | bugLe corps se dimensionne sur MediaQueryupload_content_container.dart:33-35 |
width * 0.5 × height * 0.5 de l'écran : sur 1920 × 1080, 960 × 540 demandés dans un dialogue de 512 de large utile. Le contenu déborde et se fait rogner. |
| 3 | bugLe champ URL aussiupload_online_resources_container.dart:107 — // TODO GET SIZE |
Même cause : width * 0.35 de l'écran. Le TODO est resté. |
| 4 | bugOn ne voit pas ce qu'on a choisiupload_content_container.dart:57-58 | Sur le web, après sélection : une carte titrée « Fichiers », sous-titrée « Aucun aperçu possible ». Cinq fichiers ou un seul, même affichage. Aucun moyen d'en retirer un — il faut tout recommencer. |
| 5 | Onglets écrits en durresource_tab.dart:30-31 | « Local » et « En ligne » restent en français en anglais et en néerlandais — le trou qu'on vient de combler ailleurs dans la Médiathèque. |
| 6 | Deux boutons de même poids, et une erreur évitablenew_resource_popup.dart:60-92 | Le primaire accepte le clic à vide, puis affiche une notification orange « aucun fichier chargé ». Désactiver le bouton supprime l'erreur au lieu de l'expliquer. |
| — | Type forcé à Image pour tout fichier localresource_tab.dart:93 et :97 |
Code mort et trompeur : create() re-déduit le type depuis l'extension. À lire, on croit que le MP3 sera enregistré comme image. |
| — | bugfilesToSendWeb!.length sur une variable nullenew_resource_popup.dart:82 |
Branche non-web uniquement : cliquer « Créer » sans rien choisir plante. Invisible en production tant que l'app reste web. |
new_resource_popup.dart — réécritupload_content_container.dart — réécrit (zone de dépôt + liste)resource_tab.dart — supprimé, il ne portait que la barre d'ongletsupload_online_resources_container.dart — supprimé, remplacé par le champ URL dépliantmedia*resource_tab.dart, upload_content_container.dart et upload_online_resources_container.dart sont supprimés ; le nouveau sélecteur vit dans Components/resource_picker.dart. Le dialogue de confirmation partagé (12 appelants) a été repris dans la foulée : « Oui »/« Non » en dur remplacés, et le bouton de confirmation passe en rouge quand l'action détruit.
v1-mediatheque-plan.md ne mentionne ce dialogue nulle part : le lot s'arrête à la grille, aux facettes et au panneau de détail. Ce chantier-ci est adjacent, pas inclus — à faire maintenant dans la foulée, ou à poser comme carte de suivi. C'est un arbitrage, pas une évidence.