- PlayerMenuComponent : FAB circulaire translucide (haut-gauche) + panneau deroulant, commun aux deux pages (position, style, open/close, clic exterieur) - /shorts : consolidation de tous les boutons (fournisseurs, langue, actions) dans le menu FAB ; suppression du rail a droite et de la rangee du haut - /watch : actions (cinema, qualite, j'aime, playlist, transcription, telechargement, partage, ouvrir) deplacees dans le menu FAB - AddToPlaylistComponent : variante menuItem pour s'integrer au menu - styles .pm-item/.pm-sep/.pm-section-label dans index.css
This commit is contained in:
@@ -16,6 +16,7 @@ import { Video } from '../../models/video.model';
|
||||
import { shortsFeedAccepts, isPlayable as isPlayablePolicy, type PlayableContext } from '../../app/shared/utils/section-policy';
|
||||
import { SHORT_TO_LONG, type ProviderId } from '../../app/shared/providers/provider-ids';
|
||||
import { dailymotionEmbedBase } from '../../app/shared/providers/dailymotion-player';
|
||||
import { PlayerMenuComponent } from '../../app/shared/components/player-menu/player-menu.component';
|
||||
import { SearchService } from '../../app/search/search.service';
|
||||
import { ChannelProviderFactory } from '../../app/core/providers/channel/channel-provider.factory';
|
||||
import {
|
||||
@@ -87,7 +88,7 @@ const SHORTS_QUERIES: Record<string, string[]> = {
|
||||
selector: 'app-watch-short',
|
||||
standalone: true,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
imports: [CommonModule, RouterLink],
|
||||
imports: [CommonModule, RouterLink, PlayerMenuComponent],
|
||||
templateUrl: './watch-short.component.html'
|
||||
})
|
||||
export class WatchShortComponent implements OnDestroy {
|
||||
@@ -274,6 +275,18 @@ export class WatchShortComponent implements OnDestroy {
|
||||
return this.langFilter() === 'profile' ? `Filtre actif : ${base} (profil)` : `Filtre actif : ${base}`;
|
||||
} catch { return 'Filtre de langues'; }
|
||||
});
|
||||
|
||||
/** Libellé court du mode de langue pour le menu FAB (« Français »…). */
|
||||
readonly langFilterShort = computed(() => {
|
||||
switch (this.langFilter()) {
|
||||
case 'profile': return 'Profil';
|
||||
case 'fr': return 'Français';
|
||||
case 'en': return 'Anglais';
|
||||
case 'fren': return 'FR + EN';
|
||||
case 'all': return 'Toutes';
|
||||
default: return this.langFilter();
|
||||
}
|
||||
});
|
||||
readonly current = computed<Video | null>(() => {
|
||||
const list = this.items();
|
||||
const i = this.index();
|
||||
@@ -955,9 +968,6 @@ export class WatchShortComponent implements OnDestroy {
|
||||
try { this.isFullscreen.set(!!document.fullscreenElement); } catch {}
|
||||
};
|
||||
|
||||
toggleMenu(): void {
|
||||
this.menuOpen.update(o => !o);
|
||||
}
|
||||
closeMenu(): void {
|
||||
this.menuOpen.set(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user