video end setting

This commit is contained in:
Simon
2026-06-24 20:19:28 +00:00
parent 9fe7511b4d
commit 48a15759fc
6 changed files with 79 additions and 4 deletions

View File

@@ -3,7 +3,7 @@ App.storage = App.storage || {};
App.session = App.session || {};
(function() {
const { FAVORITES_KEY, FAVORITES_VISIBILITY_KEY, PREFERRED_QUALITY_KEY } = App.constants;
const { FAVORITES_KEY, FAVORITES_VISIBILITY_KEY, PREFERRED_QUALITY_KEY, FEED_END_BEHAVIOR_KEY } = App.constants;
// Basic localStorage helpers.
App.storage.getConfig = function() {
@@ -38,6 +38,16 @@ App.session = App.session || {};
localStorage.setItem(PREFERRED_QUALITY_KEY, nextQuality);
};
// Reels/TikTok mode behavior when a video reaches its end: 'loop' replays
// the same clip; 'scroll' advances to the next video. Defaults to 'loop'.
App.storage.getFeedEndBehavior = function() {
return localStorage.getItem(FEED_END_BEHAVIOR_KEY) === 'scroll' ? 'scroll' : 'loop';
};
App.storage.setFeedEndBehavior = function(nextBehavior) {
localStorage.setItem(FEED_END_BEHAVIOR_KEY, nextBehavior === 'scroll' ? 'scroll' : 'loop');
};
App.storage.getServerEntries = function() {
const config = App.storage.getConfig();
if (!config.servers || !Array.isArray(config.servers)) return [];
@@ -187,6 +197,9 @@ App.session = App.session || {};
if (!localStorage.getItem(FAVORITES_VISIBILITY_KEY)) {
localStorage.setItem(FAVORITES_VISIBILITY_KEY, 'true');
}
if (!localStorage.getItem(FEED_END_BEHAVIOR_KEY)) {
localStorage.setItem(FEED_END_BEHAVIOR_KEY, 'loop');
}
await App.storage.initializeServerStatus();
};