import React from 'react'; import { PageData } from 'test-crawler-core'; import { onSearch, searchStyle, onFilter } from './search'; import Select from 'antd/lib/select'; const { Option } = Select; export interface Filters { [key: string]: string; } interface Props { withFilters?: Filters; response: PageData[], children: (pages: PageData[] | undefined) => React.ReactNode, } export const Search = ({ children, response, withFilters }: Props) => { const [pages, setPages] = React.useState(); const [selectedFilters, setSelectedFilters] = React.useState([]); const [pagesFiltered, setPagesFiltered] = React.useState(); React.useEffect(() => { setPages(response); onFilter(setPagesFiltered, response, setSelectedFilters)(selectedFilters); }, [response, setSelectedFilters, selectedFilters]); return ( <> {children(pagesFiltered)} ); }