SearchInput: debounce input and add wait indicator

This commit is contained in:
rektdeckard
2020-08-18 14:16:36 -04:00
parent e1c4a72026
commit 07c708e9fd
3 changed files with 30 additions and 10 deletions

View File

@@ -20,7 +20,7 @@ export const filteredQueryResultsSelector = selector<Readonly<IconEntry[]>>({
if (!query && !style) return icons;
return await new Promise((resolve) =>
return new Promise((resolve) =>
resolve(icons.filter((icon) => isQueryMatch(icon, query)))
);
},
@@ -34,7 +34,7 @@ export const categorizedQueryResultsSelector = selector<
key: "categorizedQueryResultsSelector",
get: async ({ get }) => {
const filteredResults = get(filteredQueryResultsSelector);
return await new Promise((resolve) =>
return new Promise((resolve) =>
resolve(
filteredResults.reduce<CategorizedIcons>((acc, curr) => {
curr.categories.forEach((category) => {
@@ -55,7 +55,7 @@ export const singleCategoryQueryResultsSelector = selectorFamily<
key: "singleCategoryQueryResultsSelector",
get: (category: IconCategory) => async ({ get }) => {
const filteredResults = get(filteredQueryResultsSelector);
return await new Promise((resolve) =>
return new Promise((resolve) =>
resolve(
filteredResults.filter((icon) => icon.categories.includes(category))
)