From 1e0b32d32d1cc354b7a2236d65824378d45267ef Mon Sep 17 00:00:00 2001 From: Peter KW Date: Thu, 11 Apr 2024 00:39:33 +0200 Subject: [PATCH] Added search and some design changes --- frontend/src/Components/ProjectListAdmin.tsx | 41 ++++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/frontend/src/Components/ProjectListAdmin.tsx b/frontend/src/Components/ProjectListAdmin.tsx index 294a131..9c98855 100644 --- a/frontend/src/Components/ProjectListAdmin.tsx +++ b/frontend/src/Components/ProjectListAdmin.tsx @@ -2,6 +2,7 @@ import { useState } from "react"; import { NewProject } from "../Types/goTypes"; import ProjectInfoModal from "./ProjectInfoModal"; import MemberInfoModal from "./MemberInfoModal"; +import InputField from "./InputField"; /** * A list of projects for admin manage projects page, that sets an onClick @@ -21,6 +22,7 @@ export function ProjectListAdmin(props: { const [projectName, setProjectName] = useState(""); const [userModalVisible, setUserModalVisible] = useState(false); const [username, setUsername] = useState(""); + const [search, setSearch] = useState(""); const handleClickUser = (username: string): void => { setUsername(username); @@ -44,6 +46,7 @@ export function ProjectListAdmin(props: { return ( <> +

Manage Projects

{projectModalVisible && ( )}
-
    - {props.projects.map((project) => ( -
  • { - handleClickProject(project.name); - }} - > - {project.name} -
  • - ))} + { + setSearch(e.target.value); + }} + /> +
      + {props.projects + .filter((project) => { + return search.toLowerCase() === "" + ? project.name + : project.name.toLowerCase().includes(search.toLowerCase()); + }) + .map((project) => ( +
    • { + handleClickProject(project.name); + }} + > + {project.name} +
    • + ))}