feat(player): persistent auto-advance + loop playback modes

Two saved-to-account playback settings on the player's prev/next bar (any queued
player — feed or playlist): Auto-advance (Off/Next/Prev/Random — what plays when a
video ends) and Loop (Off / One = repeat the current video / All = wrap the list
at its ends; a single-item list repeats). Stored in users.preferences
(playerAutoAdvance/playerLoop), read from the cached me + written via savePrefs so
they apply everywhere and survive reloads.

The feed's player queue is now the live filtered feed with the watch-state filter
NOT applied — marking the current video watched keeps it in the sequence (no
reindex/reload mid-play), while a hidden video still drops out. Removes the old
frozen-queue workaround and the boolean autoAdvance prop. i18n en/hu/de.
This commit is contained in:
npeter83 2026-07-05 00:20:50 +02:00
parent 597cec6517
commit d02c338465
5 changed files with 161 additions and 27 deletions

View file

@ -4,6 +4,21 @@
"back": "Zurück",
"previous": "Vorheriges",
"next": "Nächstes",
"autoAdvance": {
"label": "Auto",
"hint": "Was am Videoende folgt. Klicken zum Wechseln: Aus, Nächstes, Vorheriges, Zufall. In deinem Konto gespeichert.",
"off": "Aus",
"next": "Nächstes",
"prev": "Vorheriges",
"random": "Zufall"
},
"loop": {
"label": "Wiederholen",
"hint": "Aktuelles Video wiederholen (Eins), ganze Liste wiederholen (Alle) oder keines (Aus). In deinem Konto gespeichert.",
"off": "Aus",
"one": "Eins",
"all": "Alle"
},
"close": "Schließen",
"closeEsc": "Schließen (Esc)",
"description": "Beschreibung",

View file

@ -4,6 +4,21 @@
"back": "Back",
"previous": "Previous",
"next": "Next",
"autoAdvance": {
"label": "Auto",
"hint": "When a video ends, what plays next. Click to cycle Off, Next, Previous, Random. Saved to your account.",
"off": "Off",
"next": "Next",
"prev": "Previous",
"random": "Random"
},
"loop": {
"label": "Loop",
"hint": "Repeat the current video (One), loop the whole list (All), or neither (Off). Saved to your account.",
"off": "Off",
"one": "One",
"all": "All"
},
"close": "Close",
"closeEsc": "Close (Esc)",
"description": "Description",

View file

@ -4,6 +4,21 @@
"back": "Vissza",
"previous": "Előző",
"next": "Következő",
"autoAdvance": {
"label": "Auto",
"hint": "A videó végén mi jöjjön. Kattintásra vált: Ki, Következő, Előző, Véletlen. A fiókodhoz mentve.",
"off": "Ki",
"next": "Következő",
"prev": "Előző",
"random": "Véletlen"
},
"loop": {
"label": "Ismétlés",
"hint": "Az aktuális videó ismétlése (Egy), a teljes lista körbe (Mind), vagy egyik sem (Ki). A fiókodhoz mentve.",
"off": "Ki",
"one": "Egy",
"all": "Mind"
},
"close": "Bezárás",
"closeEsc": "Bezárás (Esc)",
"description": "Leírás",