diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-06-01 23:36:39 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-06-01 23:36:57 -0300 |
| commit | 8ff3d7ed83b45817bce192945884c6f813343557 (patch) | |
| tree | 8a20b10e5df0c5168d7ff1d5c5558aa65817f2fd /src/common-util | |
| parent | d2f7ef2686a06eb72721b500109d432d22e64513 (diff) | |
data: AAAAAAAAAAAAAAAA sort dates nicely, sort name detail preview
Diffstat (limited to 'src/common-util')
| -rw-r--r-- | src/common-util/sort.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common-util/sort.js b/src/common-util/sort.js index b87ef500..d89fa4cc 100644 --- a/src/common-util/sort.js +++ b/src/common-util/sort.js @@ -40,11 +40,15 @@ export function normalizeName(s) { // punctuation, with a single typical space, then trim the ends. s = s .replace( - /[\p{Separator}\p{Dash_Punctuation}\p{Connector_Punctuation}]+/gu, + /[/\p{Separator}\p{Dash_Punctuation}\p{Connector_Punctuation}]+/gu, ' ' ) .trim(); + // Zero-prefix sequences of digits (bounded by only select characters), + // so lesser-value numbers precede greater. + s = s.replace(/(?<=[ ({\[<]|^)\d+(?=[ )}\]>]|$)/g, match => match.padStart(5, '0')); + // Discard anything that isn't a letter, number, space, or apostrophe. s = s.replace(/[^\p{Letter}\p{Number} ']/gu, '').trim(); |