import React, { FC, useState, ChangeEvent, MouseEvent } from "react"; import { Ticket } from "../types/Ticket"; import { HorizontalCard } from "./HorizontalCard"; import { FilterBar } from "./FilterBar"; import { put } from "../utils/http"; import { Constants } from "../utils/Constants"; import { HttpResponse } from "../types/HttpResponse"; import { Project } from "../types/Project"; type IProps = { projects: Project[]; }; export const ProjectList: FC = ({ projects }) => { const [filterText, setFilterText] = useState(""); const clearFilterText: (e: MouseEvent) => void = (e: MouseEvent) => { setFilterText(""); }; const handleChange: (e: ChangeEvent) => void = ( e: ChangeEvent ) => { setFilterText(e.target.value); }; let filteredTickets = projects.filter( t => t.status !== "Done" && t.title.toLowerCase().includes(filterText.toLowerCase()) ); return ( <>

Projects

    {filteredTickets.length === 0 ? ( ) : ( filteredTickets.map((t: Project) => ( { e.preventDefault(); await put>( `${Constants.ticketsURI}/${t.id}/closed`, {} ); }} /> )) )}
); };