mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Use UpNextDialog for outro segments
This commit is contained in:
parent
7ad7f07b7c
commit
9b269296fe
7 changed files with 34 additions and 18 deletions
|
@ -29,9 +29,8 @@ import { setBackdropTransparency, TRANSPARENCY_LEVEL } from '../../../components
|
|||
import { pluginManager } from '../../../components/pluginManager';
|
||||
import { PluginType } from '../../../types/plugin.ts';
|
||||
import { EventType } from 'types/eventType';
|
||||
|
||||
const TICKS_PER_MINUTE = 600000000;
|
||||
const TICKS_PER_SECOND = 10000000;
|
||||
import { MediaSegmentType } from '@jellyfin/sdk/lib/generated-client';
|
||||
import { TICKS_PER_MINUTE, TICKS_PER_SECOND } from 'constants/time';
|
||||
|
||||
function getOpenedDialog() {
|
||||
return document.querySelector('.dialogContainer .dialog.opened');
|
||||
|
@ -579,6 +578,7 @@ export default function (view) {
|
|||
}, state);
|
||||
Events.on(player, 'playbackstart', onPlaybackStart);
|
||||
Events.on(player, 'playbackstop', onPlaybackStopped);
|
||||
Events.on(player, 'promptskip', onPromptSkip);
|
||||
Events.on(player, 'volumechange', onVolumeChanged);
|
||||
Events.on(player, 'pause', onPlayPauseStateChanged);
|
||||
Events.on(player, 'unpause', onPlayPauseStateChanged);
|
||||
|
@ -603,6 +603,7 @@ export default function (view) {
|
|||
if (player) {
|
||||
Events.off(player, 'playbackstart', onPlaybackStart);
|
||||
Events.off(player, 'playbackstop', onPlaybackStopped);
|
||||
Events.off(player, 'promptskip', onPromptSkip);
|
||||
Events.off(player, 'volumechange', onVolumeChanged);
|
||||
Events.off(player, 'pause', onPlayPauseStateChanged);
|
||||
Events.off(player, 'unpause', onPlayPauseStateChanged);
|
||||
|
@ -631,6 +632,17 @@ export default function (view) {
|
|||
}
|
||||
}
|
||||
|
||||
function onPromptSkip(e, mediaSegment) {
|
||||
const player = this;
|
||||
if (mediaSegment && player && mediaSegment.EndTicks != null
|
||||
&& mediaSegment.Type === MediaSegmentType.Outro
|
||||
&& mediaSegment.EndTicks >= playbackManager.duration(player)
|
||||
&& playbackManager.getNextItem()
|
||||
) {
|
||||
showComingUpNext(player);
|
||||
}
|
||||
}
|
||||
|
||||
function showComingUpNextIfNeeded(player, currentItem, currentTimeTicks, runtimeTicks) {
|
||||
if (runtimeTicks && currentTimeTicks && !comingUpNextDisplayed && !currentVisibleMenu && currentItem.Type === 'Episode' && userSettings.enableNextVideoInfoOverlay()) {
|
||||
let showAtSecondsLeft = 30;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue