From 7251e86381811e842c17a325d6162dbb41535229 Mon Sep 17 00:00:00 2001 From: Justin Robb Date: Sat, 10 Apr 2021 19:03:18 -0700 Subject: [PATCH] fix: fixing order of filter sections and items --- src/selectors/filterSectionSelectors.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/selectors/filterSectionSelectors.js b/src/selectors/filterSectionSelectors.js index 9105d9a0..c6c2e206 100644 --- a/src/selectors/filterSectionSelectors.js +++ b/src/selectors/filterSectionSelectors.js @@ -70,7 +70,17 @@ export const sectionItemsSelector = createSelector( if (searchQuery) { const upper = searchQuery.toUpperCase() - sectionItems = sectionItems.filter((filterId) => filterById[filterId].name.toUpperCase().includes(upper)) + sectionItems = sectionItems.map((filterId) => ({ + index: filterById[filterId].name.toUpperCase().indexOf(upper), + filterId, + })) + + sectionItems = sectionItems.filter((item) => item.index >= 0) + sectionItems.sort((a, b) => { + const diff = a.index - b.index + return diff || filterById[a.filterId].name.localeCompare(filterById[b.filterId].name) + }) + sectionItems = sectionItems.map((item) => item.filterId) } else { // sort by name sectionItems.sort((a, b) => filterById[a].name.localeCompare(filterById[b].name))