diff --git a/.ideai/memory/MEMORY.md b/.ideai/memory/MEMORY.md index 584096c..ff1decd 100644 --- a/.ideai/memory/MEMORY.md +++ b/.ideai/memory/MEMORY.md @@ -12,3 +12,4 @@ - [gametime-resume-plan-2026-07-18](gametime-resume-plan-2026-07-18.md) — memory note gametime-resume-plan-2026-07-18 - [gametime-ux-exercise-default-targets](gametime-ux-exercise-default-targets.md) — memory note gametime-ux-exercise-default-targets - [gametime-ux-series-counter](gametime-ux-series-counter.md) — memory note gametime-ux-series-counter +- [gametime-ux-exercise-media-viewer](gametime-ux-exercise-media-viewer.md) — memory note gametime-ux-exercise-media-viewer diff --git a/.ideai/memory/gametime-ux-exercise-media-viewer.md b/.ideai/memory/gametime-ux-exercise-media-viewer.md new file mode 100644 index 0000000..e88b331 --- /dev/null +++ b/.ideai/memory/gametime-ux-exercise-media-viewer.md @@ -0,0 +1,24 @@ +--- +name: gametime-ux-exercise-media-viewer +description: memory note gametime-ux-exercise-media-viewer +metadata: + type: project +--- +# GameTime — Affichage des médias pendant l'exercice (ticket #36, UX 2026-07-18) + +Décision : pas d'affichage permanent des médias dans le flux principal. Bouton secondaire "Voir médias" (OutlinedButton.icon, icône `Icons.perm_media_outlined`) proche du nom de l'exercice actif, affiché UNIQUEMENT si l'exercice a au moins 1 image ou 1 vidéo (sinon pas de bouton du tout, ni désactivé). + +## Vue médias +Bottom sheet plein écran, titre "Médias de l'exercice" + nom. Si images ET vidéo : tabs/segmented "Images"/"Vidéo". Images : galerie swipe horizontal avec indicateur "1/5". Vidéo : lecteur avec contrôles natifs. Icône Fermer, pas d'action de modification depuis l'exécution. + +## Écran Repos +Sous "Ensuite : ", afficher aussi "Voir médias" si le prochain exercice en a — bon moment pour consulter les consignes sans gêner la série active. + +## Comportement séance +Ouvrir les médias NE met PAS la séance en pause ; le repos continue en arrière-plan. Bandeau "Repos en cours · MM:SS" dans la sheet si repos actif ; devient "Repos terminé" avec action "Reprendre la séance" s'il se termine pendant la consultation. + +## Style Court Blazer +Sheet fond surface, liseré supérieur crimson 2px sur le conteneur média, icônes/compteur en or, rayon 6px, pas d'ombre lourde — le média reste une aide contextuelle, pas l'élément dominant. + +## Impact technique important signalé par UX +Aujourd'hui seul `exerciseImageMediaIdSnapshot` (singulier) est propagé dans le snapshot de séance/exécution. Il faut l'étendre pour porter la galerie complète (`imageMediaIdsSnapshot`, jusqu'à 5, ordonnée) + `videoMediaIdSnapshot`, cohérent avec la galerie ajoutée au ticket #35. \ No newline at end of file diff --git a/.ideai/tickets/36/carnet.md b/.ideai/tickets/36/carnet.md index 790b1b8..261beaf 100644 --- a/.ideai/tickets/36/carnet.md +++ b/.ideai/tickets/36/carnet.md @@ -1,6 +1,11 @@ --- issueRef: "#36" -version: 6 -updatedBy: {"kind":"user"} -updatedAt: 1784329810425 +version: 9 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784376975122 --- +Décision UX consignée dans la mémoire "gametime-ux-exercise-media-viewer" — lis-la en entier avant d'implémenter. + +Découpage : +1. [DevBackend] Étendre le snapshot d'exécution pour porter la galerie complète d'images (imageMediaIdsSnapshot, jusqu'à 5, ordonnée, cohérente avec le ticket #35) + videoMediaIdSnapshot, au lieu du seul exerciseImageMediaIdSnapshot actuel. Propager jusqu'à ActiveWorkoutSession/l'écran d'exécution. +2. [DevFrontend] Bouton "Voir médias" (affiché seulement si médias présents) sur l'écran d'exécution actif ET sur l'écran Repos (pour le prochain exercice). Bottom sheet plein écran avec galerie d'images (swipe + indicateur X/Y) et lecteur vidéo si présente. N'affecte pas l'état pause/repos de la séance. \ No newline at end of file diff --git a/.ideai/tickets/36/issue.md b/.ideai/tickets/36/issue.md index e19d665..0eb7fd8 100644 --- a/.ideai/tickets/36/issue.md +++ b/.ideai/tickets/36/issue.md @@ -2,15 +2,15 @@ id: "1d0445c0-c8f7-4527-b948-42d894a9e265" number: 36 title: "Afficher les images et les vidéos" -status: "open" +status: "closed" priority: "medium" sprint: null links: [{"target":"#35","kind":"dependsOn"}] agentRefs: [{"agentId":"57695b92-24d0-4876-837c-76116e70a6ae","role":"assigned"}] createdBy: {"kind":"user"} -updatedBy: {"kind":"user"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784329666884 -updatedAt: 1784329810425 -version: 6 +updatedAt: 1784376975122 +version: 9 --- Pour chaque exercice on a la possibilité d'upload des images et une vidéo. J'iamerais que ces images et cette vidéo, s'il y en a, soit affichés pendant l'exercie, ou au moins qu'on ai la possibilité de les voir. Ces images et cette vidéo peuvent être dans le but de présenter et d'expliquer l'exercice, ils sont donc importants. Laisser UX décider de la façon de les afficher pour que ça ne surchage pas non plus l'interface et que ça reste dans la DA \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index e996d56..8ebcaa6 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -405,13 +405,13 @@ "issueRef": "#36", "path": "36", "title": "Afficher les images et les vidéos", - "status": "open", + "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], - "updatedAt": 1784329810425 + "updatedAt": 1784376975122 }, { "issueRef": "#37",