import React, { FC, useState, ChangeEvent, MouseEvent } from "react"; import { Ticket } from "../types/Ticket"; import { FloatingButton } from "./FloatingButton"; 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 archiveTicket = () => {}; const onClick: (e: MouseEvent) => void = (e: MouseEvent) => { e.preventDefault(); setShowNew(true); }; const handleChange: (e: ChangeEvent) => void = ( e: ChangeEvent ) => { setFilterText(e.target.value); }; const [showNew, setShowNew] = useState(false); 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`, {} ); }} // archiveTicket={archiveTicket} /> )) )}
); };