import { Tournament } from "@/types"; import { useState } from "react"; // TODO change 'any' // TODO document this hook with TSDoc const useTournamentDataFilter = ( initialState: Tournament[] ): (any | ((searchQuery: string) => void))[] => { const [filtered, setFiltered] = useState(initialState); let state; const setState = (searchQuery: string) => { setFiltered( initialState.filter((t) => t.town.includes(searchQuery.toUpperCase())) ); }; if (filtered.length === 0) { state = ( No tournaments found ); } else { state = filtered.map((t) => ( {t.date} {t.town} {t.tournament} {t.time_control} )); } return [state, setState]; }; export default useTournamentDataFilter;