Fixed HUGE bug that was crashing the navigation

This commit is contained in:
DrMint 2022-05-16 00:36:38 +02:00
parent 262d464734
commit bec0c9a640
1 changed files with 22 additions and 21 deletions

View File

@ -48,31 +48,32 @@ export function ScanSet(props: Immutable<Props>): JSX.Element {
languages: languages,
languageExtractor: (item) => item.language?.data?.attributes?.code,
transform: (item) => {
const newItem = { ...item } as NonNullable<Props["scanSet"][number]>;
newItem.pages?.data.sort((a, b) => {
if (a.attributes?.url && b.attributes?.url) {
let aName = getAssetFilename(a.attributes.url);
let bName = getAssetFilename(b.attributes.url);
(item as NonNullable<Props["scanSet"][number]>).pages?.data.sort(
(a, b) => {
if (a.attributes?.url && b.attributes?.url) {
let aName = getAssetFilename(a.attributes.url);
let bName = getAssetFilename(b.attributes.url);
/*
* If the number is a succession of 0s, make the number
* incrementally smaller than 0 (i.e: 00 becomes -1)
*/
if (aName.replaceAll("0", "").length === 0) {
aName = (1 - aName.length).toString(10);
}
if (bName.replaceAll("0", "").length === 0) {
bName = (1 - bName.length).toString(10);
}
/*
* If the number is a succession of 0s, make the number
* incrementally smaller than 0 (i.e: 00 becomes -1)
*/
if (aName.replaceAll("0", "").length === 0) {
aName = (1 - aName.length).toString(10);
}
if (bName.replaceAll("0", "").length === 0) {
bName = (1 - bName.length).toString(10);
}
if (isInteger(aName) && isInteger(bName)) {
return parseInt(aName, 10) - parseInt(bName, 10);
if (isInteger(aName) && isInteger(bName)) {
return parseInt(aName, 10) - parseInt(bName, 10);
}
return a.attributes.url.localeCompare(b.attributes.url);
}
return a.attributes.url.localeCompare(b.attributes.url);
return 0;
}
return 0;
});
return newItem;
);
return item;
},
});