22 lines
624 B
TypeScript
22 lines
624 B
TypeScript
![]() |
import { Channel_channel } from "@saleor/channels/types/Channel";
|
||
|
import { FetchMoreProps, Search, SearchProps } from "@saleor/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: Channel_channel[];
|
||
|
}
|