---
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 : <exercice>", 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.