Skip to content

Commit 89ef66d

Browse files
committed
Add timer showing segment time remaining
1 parent aa6b652 commit 89ef66d

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,7 @@ export default defineComponent({
574574
clearInterval(existingSkip.intervalId)
575575

576576
existingSkip.timeLeft = 4
577+
existingSkip.segmentTimeLeft = 0
577578
existingSkip.intervalId = setInterval(() => {
578579
existingSkip.timeLeft--
579580
}, 1000)
@@ -586,6 +587,7 @@ export default defineComponent({
586587
endTime,
587588
unskipped: false,
588589
timeLeft: 4,
590+
segmentTimeLeft: 0,
589591
intervalId: null,
590592
timeoutId: null
591593
}
@@ -1240,6 +1242,14 @@ export default defineComponent({
12401242
if (useSponsorBlock.value && sponsorBlockSegments.length > 0 && canSeek()) {
12411243
skipSponsorBlockSegments(currentTime)
12421244
}
1245+
1246+
if (useSponsorBlock.value) {
1247+
for (const segment of skippedSponsorBlockSegments.value) {
1248+
if (segment.unskipped) {
1249+
segment.segmentTimeLeft = Math.max(0, segment.endTime - currentTime)
1250+
}
1251+
}
1252+
}
12431253
}
12441254
}
12451255

@@ -2322,6 +2332,7 @@ export default defineComponent({
23222332
clearTimeout(segment.timeoutId)
23232333
clearInterval(segment.intervalId)
23242334
segment.timeLeft = null
2335+
segment.segmentTimeLeft = Math.max(0, segment.endTime - video_.currentTime)
23252336
ignoredSponsorBlockSegments.add(segment.uuid)
23262337
}
23272338
}

src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,14 @@
116116
class="skippedSegmentsWrapper"
117117
>
118118
<p
119-
v-for="{ uuid, translatedCategory, unskipped, timeLeft } in skippedSponsorBlockSegments"
119+
v-for="{ uuid, translatedCategory, unskipped, timeLeft, segmentTimeLeft } in skippedSponsorBlockSegments"
120120
:key="uuid"
121121
class="skippedSegment"
122122
>
123123
{{ $t('Video.Player.Skipped segment', { segmentCategory: translatedCategory }) }}
124124
<br>
125125
<span class="unskipInstruction">
126-
{{ unskipped ? $t('Video.Player.Press Enter to reskip') : $t('Video.Player.Press Enter to unskip', { timeLeft }) }}
126+
{{ unskipped ? $t('Video.Player.Press Enter to reskip', { timeLeft: Math.ceil(segmentTimeLeft) }) : $t('Video.Player.Press Enter to unskip', { timeLeft }) }}
127127
</span>
128128
</p>
129129
</div>

static/locales/en-US.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -944,7 +944,7 @@ Video:
944944
Playback will resume automatically when your connection comes back: Playback will resume automatically when your connection comes back.
945945
Skipped segment: 'Skipped {segmentCategory} segment'
946946
Press Enter to unskip: 'Press Enter to unskip ({timeLeft}s)'
947-
Press Enter to reskip: 'Press Enter to reskip'
947+
Press Enter to reskip: 'Press Enter to reskip ({timeLeft}s remaining)'
948948
Watch:
949949
'Remaining preroll-ad time: {remindingTimeSeconds}s': 'Remaining preroll-ad time: {remindingTimeSeconds}s'
950950
'Remaining SABR backoff time: {remindingTimeSeconds}s': 'Remaining SABR backoff time: {remindingTimeSeconds}s'

0 commit comments

Comments
 (0)