2023-01-16 09:45:12 +00:00
|
|
|
import { Choice } from "@dashboard/components/SingleSelectField";
|
2022-05-05 08:36:32 +00:00
|
|
|
import { filter } from "fuzzaldrin";
|
|
|
|
import { useMemo, useState } from "react";
|
|
|
|
|
|
|
|
function useChoiceSearch(choices: Array<Choice<string, string>>) {
|
|
|
|
const [query, setQuery] = useState("");
|
|
|
|
|
|
|
|
const sortedChoices = useMemo(
|
|
|
|
() => filter(choices, query, { key: "label" }) || [],
|
2022-06-21 09:36:55 +00:00
|
|
|
[choices, query],
|
2022-05-05 08:36:32 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
return { search: setQuery, result: sortedChoices };
|
|
|
|
}
|
|
|
|
|
|
|
|
export default useChoiceSearch;
|