Added auto play next video setting

This commit is contained in:
WardPearce
2024-04-09 15:47:47 +12:00
parent 264436ff11
commit 1a9effdc80
3 changed files with 30 additions and 2 deletions
+19 -2
View File
@@ -24,6 +24,7 @@
interfaceSearchSuggestions,
playerAlwaysLoop,
playerAutoPlay,
playerAutoplayNextByDefault,
playerDash,
playerListenByDefault,
playerProxyVideos,
@@ -406,7 +407,7 @@
<div class="field no-margin">
<nav class="no-padding">
<div class="max">
<div>Autoplay</div>
<div>Autoplay video</div>
</div>
<label class="switch">
<input
@@ -422,7 +423,7 @@
<div class="field no-margin">
<nav class="no-padding">
<div class="max">
<div>Always loop</div>
<div>Always loop video</div>
</div>
<label class="switch">
<input
@@ -499,6 +500,22 @@
</nav>
</div>
<div class="field no-margin">
<nav class="no-padding">
<div class="max">
<div>Autoplay next by default</div>
</div>
<label class="switch">
<input
type="checkbox"
bind:checked={$playerAutoplayNextByDefault}
on:click={() => playerAutoplayNextByDefault.set(!$playerAutoplayNextByDefault)}
/>
<span></span>
</label>
</nav>
</div>
<div class="field no-margin">
<nav class="no-padding">
<div class="max">
@@ -1,4 +1,5 @@
<script lang="ts">
import { goto } from '$app/navigation';
import {
addPlaylistVideo,
deleteUnsubscribe,
@@ -21,6 +22,7 @@
import {
activePage,
auth,
playerAutoplayNextByDefault,
playerListenByDefault,
playerTheatreModeByDefault,
syncPartyConnections,
@@ -164,6 +166,14 @@
});
}
if ($playerAutoplayNextByDefault) {
player.addEventListener('end', () => {
if ($playerAutoplayNextByDefault && !playlist) {
goto(`/watch/${data.video.recommendedVideos[0].videoId}`);
}
});
}
if (!data.playlistId) return;
for (let page = 1; page < Infinity; page++) {
+1
View File
@@ -16,6 +16,7 @@ export const playerListenByDefault = persisted("listenByDefault", false);
export const playerSavePlaybackPosition = persisted("savePlaybackPosition", true);
export const playerDash = persisted("dashEnabled", false);
export const playerTheatreModeByDefault = persisted("theatreModeByDefault", false);
export const playerAutoplayNextByDefault = persisted("autoplayNextByDefault", false);
export const returnYtDislikes = persisted("returnYtDislikes", true);