Restore manual track ordering in playlists (fix #165)

This commit is contained in:
Eduard Prigoana 2026-02-09 11:18:37 +00:00
parent a308d380b9
commit 62937e551e
2 changed files with 7 additions and 8 deletions

View file

@ -54,7 +54,7 @@
<div id="sort-menu" style="display: none">
<ul>
<li data-sort="custom" class="requires-custom-order">Playlist Order</li>
<li data-sort="custom">Playlist Order</li>
<li data-sort="added-newest" class="requires-added-date">Date Added (Newest)</li>
<li data-sort="added-oldest" class="requires-added-date">Date Added (Oldest)</li>
<li data-sort="title">Title (A-Z)</li>

View file

@ -2327,11 +2327,13 @@ export class UIRenderer {
actionsDiv.insertBefore(removeBtn, menuBtn);
});
// Always add is-editable class for owned playlists to fix layout
// This expands the grid columns to accommodate the remove button
container.classList.add('is-editable');
// Only enable drag-and-drop reordering in custom sort mode
if (currentSort === 'custom') {
container.classList.add('is-editable');
this.enableTrackReordering(container, currentTracks, playlistId, syncManager);
} else {
container.classList.remove('is-editable');
}
} else {
container.classList.remove('is-editable');
@ -3030,14 +3032,11 @@ export class UIRenderer {
e.stopPropagation();
const menu = document.getElementById('sort-menu');
// Show "Date Added" if tracks have addedAt, otherwise show "Playlist Order"
// Show "Date Added" options only if tracks have addedAt
const hasAddedDate = tracks.some((t) => t.addedAt);
menu.querySelectorAll('.requires-added-date').forEach((opt) => {
opt.style.display = hasAddedDate ? '' : 'none';
});
menu.querySelectorAll('.requires-custom-order').forEach((opt) => {
opt.style.display = hasAddedDate ? 'none' : '';
});
// Highlight current sort option
const currentSortType = getCurrentSort ? getCurrentSort() : 'custom';