From 7bb6d5262e96360961d84aace6d7f06c2b63f46d Mon Sep 17 00:00:00 2001 From: Dlurak <84224239+Dlurak@users.noreply.github.com> Date: Sat, 22 Jun 2024 10:42:12 +0200 Subject: [PATCH] Sort the labels naturally --- .../PublicTransport/requestRoutes.ts | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/FeaturePanel/PublicTransport/requestRoutes.ts b/src/components/FeaturePanel/PublicTransport/requestRoutes.ts index fb21ac6e..17f3baff 100644 --- a/src/components/FeaturePanel/PublicTransport/requestRoutes.ts +++ b/src/components/FeaturePanel/PublicTransport/requestRoutes.ts @@ -24,20 +24,20 @@ node(r: "stop") -> .stops; )}`, ); - let resData = response.split('\n').map((line) => { - const ref = line.split(';').slice(0, -1).join(';'); - let colour = line.split(';')[line.split(';').length - 1]; + const resData = response + .split('\n') + .map((line) => { + const ref = line.split(';').slice(0, -1).join(';'); + let colour = line.split(';')[line.split(';').length - 1]; - // set colour to undefined if it is empty - if (colour === '') colour = undefined; - return { ref, colour } as LineInformation; - }); + // set colour to undefined if it is empty + if (colour === '') colour = undefined; + return { ref, colour } as LineInformation; + }) + .sort((a, b) => a.ref.localeCompare(b.ref, undefined, { numeric: true })) + .filter(({ ref }) => ref !== ''); - resData = resData.filter((line) => line.ref !== ''); - // remove duplicats - resData = resData.filter( + return resData.filter( (line, index) => resData.findIndex((l) => l.ref === line.ref) === index, ); - resData.sort((a, b) => a.ref.localeCompare(b.ref)); - return resData; }