import React, { FC, useState, ChangeEvent, MouseEvent } from "react"; import { Typography, Grid, makeStyles, createStyles, Theme, } from "@material-ui/core"; import { HorizontalCard } from "./HorizontalCard"; import { FilterBar } from "./FilterBar"; import { Ticket } from "../types/Ticket"; import { HttpResponse } from "../types/HttpResponse"; import { Project } from "../types/Project"; import { put } from "../utils/http"; import { Constants } from "../utils/Constants"; import ProjectCard from "./ProjectCard"; const useStyles = makeStyles((theme: Theme) => createStyles({ header: { paddingBottom: theme.spacing(2), }, }) ); 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 => { setFilterText(e.target.value); }; let filteredTickets = projects.filter( (t) => t.status !== "Done" && t.title.toLowerCase().includes(filterText.toLowerCase()) ); const classes = useStyles(); return ( Projects
{filteredTickets.length === 0 ? ( ) : ( filteredTickets.map((t: Project) => ( { // e.preventDefault(); // await put>( // `${Constants.ticketsURI}/${t.id}/closed`, // {} // ); // }} /> )) )}
); };