added some tests
This commit is contained in:
@@ -489,25 +489,27 @@ class AniWorldApp {
|
||||
applyFiltersAndSort() {
|
||||
let filtered = [...this.seriesData];
|
||||
|
||||
// Sort by missing episodes first (descending), then by name if alphabetical is enabled
|
||||
// Sort based on the current sorting mode
|
||||
filtered.sort((a, b) => {
|
||||
// Always show series with missing episodes first
|
||||
if (a.missing_episodes > 0 && b.missing_episodes === 0) return -1;
|
||||
if (a.missing_episodes === 0 && b.missing_episodes > 0) return 1;
|
||||
|
||||
// If both have missing episodes, sort by count (descending)
|
||||
if (a.missing_episodes > 0 && b.missing_episodes > 0) {
|
||||
if (a.missing_episodes !== b.missing_episodes) {
|
||||
return b.missing_episodes - a.missing_episodes;
|
||||
}
|
||||
}
|
||||
|
||||
// Sort alphabetically if enabled
|
||||
if (this.sortAlphabetical) {
|
||||
// Pure alphabetical sorting when A-Z is enabled
|
||||
return (a.name || a.folder).localeCompare(b.name || b.folder);
|
||||
}
|
||||
} else {
|
||||
// Default sorting: missing episodes first (descending), then by name
|
||||
// Always show series with missing episodes first
|
||||
if (a.missing_episodes > 0 && b.missing_episodes === 0) return -1;
|
||||
if (a.missing_episodes === 0 && b.missing_episodes > 0) return 1;
|
||||
|
||||
return 0;
|
||||
// If both have missing episodes, sort by count (descending)
|
||||
if (a.missing_episodes > 0 && b.missing_episodes > 0) {
|
||||
if (a.missing_episodes !== b.missing_episodes) {
|
||||
return b.missing_episodes - a.missing_episodes;
|
||||
}
|
||||
}
|
||||
|
||||
// For series with same missing episode status, maintain stable order
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
// Apply missing episodes filter
|
||||
@@ -516,6 +518,7 @@ class AniWorldApp {
|
||||
}
|
||||
|
||||
this.filteredSeriesData = filtered;
|
||||
this.renderSeries();
|
||||
}
|
||||
|
||||
renderSeries() {
|
||||
|
||||
Reference in New Issue
Block a user