feat(shorts): flèches en ligne avec le menu + fondu des contrôles au repos
CI / build-and-test (push) Successful in 14m54s
CI / build-and-test (push) Successful in 14m54s
Demandes (page /shorts) : retrouver les flèches Préc./Suiv. là où se
trouve le menu, et des contrôles presque invisibles au repos pour
laisser la vidéo respirer (ton pro).
- Flèches déplacées du milieu des côtés vers la rangée HAUTE du cadre,
centrées : même niveau que le FAB menu, sans chevaucher la flèche
retour mobile (gauche) ni le FAB (droite). Le toast « Lien copié »
passe en z-30 pour rester lisible sous la rangée.
- Fondu au repos : nouvelles règles index.css — flèches (.shorts-ctrl)
et FAB à 0.18 d'opacité quand le chrome est au repos (2,5 s sans
souris), pleins au moindre mouvement (chromeVisible) ou au survol
direct (:hover), jamais atténués quand le panneau est ouvert
(pm-fab-open). Sur tactile, le chrome ne se masque jamais (pas de
mousemove : comportement voulu, mobile inchangé).
- Le minuteur d'immobilité est armé au chargement (pokeChrome sous
matchMedia('(hover: hover)')) : sans un premier mousemove,
chromeVisible restait true et le fondu ne s'armait jamais.
- mouseenter sur l'iframe : en entrant sur la vidéo, le document
parent ne reçoit pas les mouvements internes à l'iframe — l'entrée
réveille les contrôles.
Recette Playwright desktop+mobile, 14/14 : position haute centrée,
absence de chevauchements, repos 0.18 (flèches + FAB), retour plein
après mouvement réel, mobile plein en permanence. Build + test:section
verts avant commit.
This commit is contained in:
@@ -572,6 +572,28 @@ body {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
/* Contrôles flottants (rangée de flèches + FAB menu) : presque fondu au repos
|
||||
pour laisser la vidéo respirer (ton pro), pleins dès le moindre mouvement
|
||||
de souris (chromeVisible) ou survol direct. Le panneau ouvert et le FAB
|
||||
ouvert ne sont jamais atténués. Le tactile ne déclenche presque pas
|
||||
mousemove : sur mobile tout reste donc plein (comportement voulu). */
|
||||
.shorts-frame .shorts-ctrl,
|
||||
.shorts-frame app-player-menu .pm-fab {
|
||||
transition: opacity 0.25s ease;
|
||||
}
|
||||
.shorts-chrome-hidden .shorts-frame .shorts-ctrl {
|
||||
opacity: 0.18;
|
||||
}
|
||||
.shorts-chrome-hidden .shorts-frame .shorts-ctrl:not(:disabled):hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.shorts-chrome-hidden .shorts-frame app-player-menu .pm-fab {
|
||||
opacity: 0.18;
|
||||
}
|
||||
.shorts-chrome-hidden .shorts-frame app-player-menu .pm-fab:hover,
|
||||
.shorts-chrome-hidden .shorts-frame app-player-menu .pm-fab.pm-fab-open {
|
||||
opacity: 1;
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.shorts-chrome {
|
||||
transition: none;
|
||||
|
||||
Reference in New Issue
Block a user