Fix zip image ordering
This commit is contained in:
@@ -13,22 +13,17 @@ const imageTypes = ['image/jpeg', 'image/png', 'image/webp'];
|
|||||||
export async function unzipManga(file: File) {
|
export async function unzipManga(file: File) {
|
||||||
const zipFileReader = new BlobReader(file);
|
const zipFileReader = new BlobReader(file);
|
||||||
const zipReader = new ZipReader(zipFileReader);
|
const zipReader = new ZipReader(zipFileReader);
|
||||||
|
|
||||||
const entries = await zipReader.getEntries();
|
const entries = await zipReader.getEntries();
|
||||||
const unzippedFiles: Record<string, File> = {};
|
const unzippedFiles: Record<string, File> = {};
|
||||||
|
|
||||||
const sortedEntries = entries.sort((a, b) => {
|
const sortedEntries = entries.sort((a, b) => {
|
||||||
if (a.filename < b.filename) {
|
return a.filename.localeCompare(b.filename, undefined, {
|
||||||
return -1;
|
numeric: true,
|
||||||
}
|
sensitivity: 'base'
|
||||||
|
});
|
||||||
if (a.filename > b.filename) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
})
|
})
|
||||||
|
|
||||||
for (const entry of sortedEntries) {
|
for (const entry of sortedEntries) {
|
||||||
const mime = getMimeType(entry.filename);
|
const mime = getMimeType(entry.filename);
|
||||||
if (imageTypes.includes(mime)) {
|
if (imageTypes.includes(mime)) {
|
||||||
@@ -39,7 +34,7 @@ export async function unzipManga(file: File) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return unzippedFiles;
|
return unzippedFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user