attempt at fixing #982

This commit is contained in:
Core 2022-09-16 20:14:34 +01:00
parent 599304ee4b
commit cf1d9c415c
No known key found for this signature in database
GPG key ID: 2AB8327FBA02D1C0

View file

@ -2433,12 +2433,26 @@ const app = new Vue({
self.library.songs.displayListing.sort((a, b) => { self.library.songs.displayListing.sort((a, b) => {
let aa = a.attributes[prefs.sort]; let aa = a.attributes[prefs.sort];
let bb = b.attributes[prefs.sort]; let bb = b.attributes[prefs.sort];
if (prefs.sort == "genre") { if (prefs.sort === "genre") {
aa = a.attributes.genreNames[0]; aa = a.attributes.genreNames[0];
bb = b.attributes.genreNames[0]; bb = b.attributes.genreNames[0];
} else if (prefs.sort == "dateAdded") { } else if (prefs.sort === "dateAdded") {
aa = a.relationships?.albums?.data[0]?.attributes?.dateAdded; aa = a.relationships?.albums?.data[0]?.attributes?.dateAdded;
bb = b.relationships?.albums?.data[0]?.attributes?.dateAdded; bb = b.relationships?.albums?.data[0]?.attributes?.dateAdded;
} else if (prefs.sort === "artistName") {
if (a.relationships?.artists?.data[0]?.id === b.relationships?.artists?.data[0]?.id) {
aa = a.attributes.albumName;
bb = b.attributes.albumName;
}
if (a.relationships?.albums?.data[0]?.id === b.relationships?.albums?.data[0]?.id) {
aa = a.attributes.trackNumber;
bb = b.attributes.trackNumber;
}
} else if (prefs.sort === "albumName") {
if (a.relationships?.albums?.data[0]?.id === b.relationships?.albums?.data[0]?.id) {
aa = a.attributes.trackNumber;
bb = b.attributes.trackNumber;
}
} }
if (aa == null) { if (aa == null) {
aa = ""; aa = "";
@ -2446,13 +2460,13 @@ const app = new Vue({
if (bb == null) { if (bb == null) {
bb = ""; bb = "";
} }
if (prefs.sortOrder == "asc") { if (prefs.sortOrder === "asc") {
if (aa.toString().match(/^\d+$/) && bb.toString().match(/^\d+$/)) { if (aa.toString().match(/^\d+$/) && bb.toString().match(/^\d+$/)) {
return aa - bb; return aa - bb;
} else { } else {
return aa.toString().toLowerCase().localeCompare(bb.toString().toLowerCase()); return aa.toString().toLowerCase().localeCompare(bb.toString().toLowerCase());
} }
} else if (prefs.sortOrder == "desc") { } else if (prefs.sortOrder === "desc") {
if (aa.toString().match(/^\d+$/) && bb.toString().match(/^\d+$/)) { if (aa.toString().match(/^\d+$/) && bb.toString().match(/^\d+$/)) {
return bb - aa; return bb - aa;
} else { } else {