diff --git a/index.css b/index.css index 3cb751b..10f55a7 100644 --- a/index.css +++ b/index.css @@ -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; diff --git a/src/components/shorts/watch-short.component.html b/src/components/shorts/watch-short.component.html index a32443e..4a58635 100644 --- a/src/components/shorts/watch-short.component.html +++ b/src/components/shorts/watch-short.component.html @@ -24,6 +24,7 @@
@if (embedUrl(); as url) { } @else if (embedWaiting()) { @@ -205,22 +206,27 @@ }
- - - + +
+ + +
} @if (shareCopied()) { -
Lien copié ✓
+
Lien copié ✓
} diff --git a/src/components/shorts/watch-short.component.ts b/src/components/shorts/watch-short.component.ts index d350e4e..803f428 100644 --- a/src/components/shorts/watch-short.component.ts +++ b/src/components/shorts/watch-short.component.ts @@ -714,6 +714,11 @@ export class WatchShortComponent implements OnDestroy { }); try { window.addEventListener('message', this.handleShortMessage); } catch {} try { document.addEventListener('fullscreenchange', this.handleFullscreenChange); } catch {} + // Arme le minuteur d'immobilité dès le chargement : sans un premier + // mousemove, chromeVisible resterait à true et les contrôles flottants + // (flèches + FAB) ne feraient jamais leur fondu « au repos ». Desktop + // seulement (hover) : sur tactile le chrome reste visible en permanence. + try { if (matchMedia('(hover: hover)').matches) this.pokeChrome(); } catch {} } ngOnDestroy(): void {