Make file and directory sorting case-insensitive

Updated sorting functions to compare names in lowercase, ensuring case-insensitive sorting for files and directories. Addresses #101.
This commit is contained in:
Tilman 2025-09-28 19:23:07 +02:00
parent 577fe087f2
commit 08907295e9

View file

@ -21,11 +21,14 @@ export function humanFileSize(bytes: number) {
}
export function sortEntriesByName(entryA: Deno.DirEntry, entryB: Deno.DirEntry) {
if (entryA.name > entryB.name) {
const nameA = entryA.name.toLowerCase();
const nameB = entryB.name.toLowerCase();
if (nameA > nameB) {
return 1;
}
if (entryA.name < entryB.name) {
if (nameA < nameB) {
return -1;
}
@ -33,11 +36,14 @@ export function sortEntriesByName(entryA: Deno.DirEntry, entryB: Deno.DirEntry)
}
export function sortDirectoriesByName(directoryA: Directory, directoryB: Directory) {
if (directoryA.directory_name > directoryB.directory_name) {
const nameA = directoryA.directory_name.toLowerCase();
const nameB = directoryB.directory_name.toLowerCase();
if (nameA > nameB) {
return 1;
}
if (directoryA.directory_name < directoryB.directory_name) {
if (nameA < nameB) {
return -1;
}
@ -45,11 +51,14 @@ export function sortDirectoriesByName(directoryA: Directory, directoryB: Directo
}
export function sortFilesByName(fileA: DirectoryFile, fileB: DirectoryFile) {
if (fileA.file_name > fileB.file_name) {
const nameA = fileA.file_name.toLowerCase();
const nameB = fileB.file_name.toLowerCase();
if (nameA > nameB) {
return 1;
}
if (fileA.file_name < fileB.file_name) {
if (nameA < nameB) {
return -1;
}