From 7ad7f07b7c793ab0c7b45d83fadced17eee1bb24 Mon Sep 17 00:00:00 2001 From: viown <48097677+viown@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:20:39 +0300 Subject: [PATCH] Do nothing if there is 1 second left --- src/components/playback/skipsegment.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/playback/skipsegment.ts b/src/components/playback/skipsegment.ts index b3c50daf9a..10d9e32248 100644 --- a/src/components/playback/skipsegment.ts +++ b/src/components/playback/skipsegment.ts @@ -1,5 +1,5 @@ import { PlaybackManager } from './playbackmanager'; -import { TICKS_PER_MILLISECOND } from 'constants/time'; +import { TICKS_PER_MILLISECOND, TICKS_PER_SECOND } from 'constants/time'; import { MediaSegmentDto, MediaSegmentType } from '@jellyfin/sdk/lib/generated-client'; import { PlaybackSubscriber } from 'apps/stable/features/playback/utils/playbackSubscriber'; import { isInSegment } from 'apps/stable/features/playback/utils/mediaSegments'; @@ -39,8 +39,13 @@ class SkipSegment extends PlaybackSubscriber { elem.classList.add('skip-button-hidden'); elem.addEventListener('click', () => { - if (this.currentSegment) { - this.playbackManager.seek(this.currentSegment.EndTicks); + const time = this.playbackManager.currentTime() * TICKS_PER_MILLISECOND; + if (this.currentSegment?.EndTicks) { + if (time < this.currentSegment.EndTicks - TICKS_PER_SECOND) { + this.playbackManager.seek(this.currentSegment.EndTicks); + } else { + this.hideSkipButton(); + } } });