diff --git a/src/components/Library/ScanSet.tsx b/src/components/Library/ScanSet.tsx index 95d98e3..777c3aa 100644 --- a/src/components/Library/ScanSet.tsx +++ b/src/components/Library/ScanSet.tsx @@ -48,31 +48,32 @@ export function ScanSet(props: Immutable): JSX.Element { languages: languages, languageExtractor: (item) => item.language?.data?.attributes?.code, transform: (item) => { - const newItem = { ...item } as NonNullable; - 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).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; }, });