From 8abccc709e0bb79943ef2b24e86f5a35c2889e86 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Thu, 18 Jul 2024 22:49:43 +0300 Subject: [PATCH] Use natural sorting for remaining lists of items in the UI --- frontend/src/Indexer/Add/AddIndexerModalContent.js | 5 +++-- frontend/src/Search/Mobile/SearchIndexOverview.tsx | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/src/Indexer/Add/AddIndexerModalContent.js b/frontend/src/Indexer/Add/AddIndexerModalContent.js index f4050560e..642abe095 100644 --- a/frontend/src/Indexer/Add/AddIndexerModalContent.js +++ b/frontend/src/Indexer/Add/AddIndexerModalContent.js @@ -14,6 +14,7 @@ import Scroller from 'Components/Scroller/Scroller'; import Table from 'Components/Table/Table'; import TableBody from 'Components/Table/TableBody'; import { kinds, scrollDirections } from 'Helpers/Props'; +import sortByProp from 'Utilities/Array/sortByProp'; import getErrorMessage from 'Utilities/Object/getErrorMessage'; import translate from 'Utilities/String/translate'; import SelectIndexerRow from './SelectIndexerRow'; @@ -131,8 +132,8 @@ class AddIndexerModalContent extends Component { } = this.props; const languages = Array.from(new Set(indexers.map(({ language }) => language))) - .sort((a, b) => a.localeCompare(b)) - .map((language) => ({ key: language, value: language })); + .map((language) => ({ key: language, value: language })) + .sort(sortByProp('value')); const filteredIndexers = indexers.filter((indexer) => { const { diff --git a/frontend/src/Search/Mobile/SearchIndexOverview.tsx b/frontend/src/Search/Mobile/SearchIndexOverview.tsx index 8d0e6ebff..21a42d70c 100644 --- a/frontend/src/Search/Mobile/SearchIndexOverview.tsx +++ b/frontend/src/Search/Mobile/SearchIndexOverview.tsx @@ -231,7 +231,9 @@ function SearchIndexOverview(props: SearchIndexOverviewProps) { {indexerFlags.length ? indexerFlags - .sort((a, b) => a.localeCompare(b)) + .sort((a, b) => + a.localeCompare(b, undefined, { numeric: true }) + ) .map((flag, index) => { return (