summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/ui/src/hooks/use-filtered-list.tsx12
1 files changed, 4 insertions, 8 deletions
diff --git a/packages/ui/src/hooks/use-filtered-list.tsx b/packages/ui/src/hooks/use-filtered-list.tsx
index 26215e93c..b8a55000e 100644
--- a/packages/ui/src/hooks/use-filtered-list.tsx
+++ b/packages/ui/src/hooks/use-filtered-list.tsx
@@ -24,16 +24,12 @@ export function useFilteredList<T>(props: FilteredListProps<T>) {
const [grouped, { refetch }] = createResource(
() => ({
filter: store.filter,
- items:
- typeof props.items === "function"
- ? props.items.length === 0
- ? (props.items as () => T[])()
- : undefined
- : props.items,
+ items: typeof props.items === "function" ? props.items(store.filter) : props.items,
}),
async ({ filter, items }) => {
- const needle = filter?.toLowerCase()
- const all = (items ?? (await (props.items as (filter: string) => T[] | Promise<T[]>)(needle))) || []
+ const query = filter ?? ""
+ const needle = query.toLowerCase()
+ const all = (await Promise.resolve(items)) || []
const result = pipe(
all,
(x) => {