Skip to content

Commit 97b3e60

Browse files
Handle missing date_added in board date sorting
Boards without a valid date_added value now sort to the end of the list for both date-asc and date-desc sort modes, instead of appearing in unpredictable positions due to NaN comparisons.
1 parent b28ba53 commit 97b3e60

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

assets/javascript/downloads.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -392,12 +392,18 @@ function handleSortResults(event) {
392392
case 'alpha-desc':
393393
return b.dataset.name.localeCompare(a.dataset.name);
394394
case 'date-asc':
395-
var dateA = new Date(a.dataset.date);
396-
var dateB = new Date(b.dataset.date);
397-
return dateA.getTime() - dateB.getTime();
398395
case 'date-desc':
399-
var dateA = new Date(a.dataset.date);
400-
var dateB = new Date(b.dataset.date);
396+
var dateA = a.dataset.date ? new Date(a.dataset.date) : null;
397+
var dateB = b.dataset.date ? new Date(b.dataset.date) : null;
398+
var validA = dateA && !isNaN(dateA.getTime());
399+
var validB = dateB && !isNaN(dateB.getTime());
400+
// boards without a valid date go to the end
401+
if (!validA && !validB) return 0;
402+
if (!validA) return 1;
403+
if (!validB) return -1;
404+
if (sortType === 'date-asc') {
405+
return dateA.getTime() - dateB.getTime();
406+
}
401407
return dateB.getTime() - dateA.getTime();
402408
default:
403409
// sort by download count is the default

0 commit comments

Comments
 (0)