diff --git a/templates/watchlist.gohtml b/templates/watchlist.gohtml index 64ebfb1..a512f1f 100644 --- a/templates/watchlist.gohtml +++ b/templates/watchlist.gohtml @@ -35,38 +35,29 @@ -
- {{range $status := $.StatusOrder}} - {{$entries := index $.WatchlistByStatus $status}} - {{if $entries}} -
-
- {{range $entries}} -
-
- - {{.DisplayTitle}} +
+ {{range $.AllEntries}} +
+
+ + {{.DisplayTitle}} -
-
- -
-
-
-

- {{.DisplayTitle}} -

-
- {{end}} +
+
+ +
- {{end}} +

+ {{.DisplayTitle}} +

+
{{end}} {{if eq (len $.AllEntries) 0}} -
+

Your watchlist is empty.

Browse anime @@ -89,14 +80,14 @@ btn.classList.remove('text-neutral-400') btn.classList.add('text-white') - // Show/hide sections - document.querySelectorAll('.watchlist-section').forEach(function(section) { + // Show/hide items + document.querySelectorAll('.watchlist-item').forEach(function(item) { if (status === 'all') { - section.style.display = 'block' - } else if (section.dataset.status === status) { - section.style.display = 'block' + item.style.display = 'flex' + } else if (item.dataset.status === status) { + item.style.display = 'flex' } else { - section.style.display = 'none' + item.style.display = 'none' } }) sortItems() @@ -129,27 +120,25 @@ } function sortItems() { - document.querySelectorAll('.watchlist-section').forEach(function(section) { - const grid = section.querySelector('.grid') - const items = Array.from(grid.children) - - items.sort(function(a, b) { - let comparison = 0 - if (currentSortBy === 'title') { - const titleA = a.querySelector('h3').textContent.toLowerCase() - const titleB = b.querySelector('h3').textContent.toLowerCase() - comparison = titleA.localeCompare(titleB) - } else { - const dateA = new Date(a.dataset.createdAt || 0).getTime() - const dateB = new Date(b.dataset.createdAt || 0).getTime() - comparison = dateA - dateB - } - return sortOrderDesc ? -comparison : comparison - }) - - items.forEach(function(item) { - grid.appendChild(item) - }) + const grid = document.getElementById('watchlist-items') + const items = Array.from(grid.querySelectorAll('.watchlist-item')) + + items.sort(function(a, b) { + let comparison = 0 + if (currentSortBy === 'title') { + const titleA = a.querySelector('h3').textContent.toLowerCase().trim() + const titleB = b.querySelector('h3').textContent.toLowerCase().trim() + comparison = titleA.localeCompare(titleB) + } else { + const dateA = new Date(a.dataset.createdAt || 0).getTime() + const dateB = new Date(b.dataset.createdAt || 0).getTime() + comparison = dateA - dateB + } + return sortOrderDesc ? -comparison : comparison + }) + + items.forEach(function(item) { + grid.appendChild(item) }) }