feat(playlists): rail sorting, consolidated item sort, persist selection
1) Fix: the selected playlist is now persisted (localStorage) and scrolled into view, so F5 keeps it instead of jumping to the first one. 2) Consolidate the in-detail sort: one key select (Title/Duration/Channel) + an asc/desc direction toggle (was separate A-Z / Z-A / shortest / longest options); add Channel as a sort key. Direction also orders the channel groups when grouping. 3) Left rail sorting: by name / item count / total length, asc/desc, plus an 'unsynced first' toggle that floats playlists with unpushed edits to the top. Backend: list/summary now return total_duration_seconds (grouped sum). The rail also shows each playlist's total length. Sort prefs persist to localStorage.
This commit is contained in:
parent
156e10235e
commit
a00779a1c9
6 changed files with 237 additions and 57 deletions
|
|
@ -37,9 +37,15 @@
|
|||
"deleteYtFailed": "Löschen auf YouTube fehlgeschlagen; nur hier entfernt.",
|
||||
"sortLabel": "Sortierung",
|
||||
"sortManual": "Eigene Reihenfolge",
|
||||
"sortTitleAsc": "Titel A–Z",
|
||||
"sortTitleDesc": "Titel Z–A",
|
||||
"sortDurAsc": "Kürzeste zuerst",
|
||||
"sortDurDesc": "Längste zuerst",
|
||||
"groupByChannel": "Nach Kanal gruppieren"
|
||||
"sortTitle": "Titel",
|
||||
"sortDuration": "Dauer",
|
||||
"sortChannel": "Kanal",
|
||||
"dirAsc": "Aufsteigend",
|
||||
"dirDesc": "Absteigend",
|
||||
"groupByChannel": "Nach Kanal gruppieren",
|
||||
"railSortCustom": "Eigene Reihenfolge",
|
||||
"railSortName": "Name",
|
||||
"railSortCount": "Anzahl",
|
||||
"railSortDuration": "Gesamtlänge",
|
||||
"dirtyFirst": "Nicht synchronisierte zuerst"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue