saleor-dashboard/src/hooks/useChannelsSearch.ts
2023-01-16 10:45:12 +01:00

21 lines
630 B
TypeScript

import { ChannelDetailsFragment } from "@dashboard/graphql";
import { FetchMoreProps, Search, SearchProps } from "@dashboard/types";
import { filter } from "fuzzaldrin";
import React from "react";
export const useChannelsSearch = function<T extends { name: string }>(
channels: T[],
) {
const [query, onQueryChange] = React.useState("");
const filteredChannels =
filter<T, "name">(channels, query, { key: "name" }) || [];
return { query, onQueryChange, filteredChannels };
};
export interface ChannelsWithLoadMoreProps
extends FetchMoreProps,
Search,
SearchProps {
channels: ChannelDetailsFragment[];
}