(a, b)
| 8564 | } |
| 8565 | |
| 8566 | function compareFilesForSort(a, b) { |
| 8567 | const column = sortOrder?.column || "uploaded"; |
| 8568 | const ascending = sortOrder?.ascending !== false; |
| 8569 | |
| 8570 | let valA = a[column] ?? ""; |
| 8571 | let valB = b[column] ?? ""; |
| 8572 | |
| 8573 | if (column === "size" || column === "filesize") { |
| 8574 | // numeric size |
| 8575 | valA = Number.isFinite(a.sizeBytes) ? a.sizeBytes : 0; |
| 8576 | valB = Number.isFinite(b.sizeBytes) ? b.sizeBytes : 0; |
| 8577 | } else if (column === "modified" || column === "uploaded") { |
| 8578 | // date sort (newest/oldest) |
| 8579 | const parsedA = parseCustomDate(String(valA || "")); |
| 8580 | const parsedB = parseCustomDate(String(valB || "")); |
| 8581 | valA = parsedA; |
| 8582 | valB = parsedB; |
| 8583 | } else { |
| 8584 | if (typeof valA === "string") valA = valA.toLowerCase(); |
| 8585 | if (typeof valB === "string") valB = valB.toLowerCase(); |
| 8586 | } |
| 8587 | |
| 8588 | if (valA < valB) return ascending ? -1 : 1; |
| 8589 | if (valA > valB) return ascending ? 1 : -1; |
| 8590 | return 0; |
| 8591 | } |
| 8592 | |
| 8593 | function maybeHighlightSearchedFile(folder) { |
| 8594 | if (!pendingSearchSelection) return; |
nothing calls this directly
no test coverage detected