From 43d83ca7b36984dfc009d8c565816d0db2791781 Mon Sep 17 00:00:00 2001 From: Peter KW Date: Thu, 11 Apr 2024 00:41:44 +0200 Subject: [PATCH] Search and design changes --- frontend/src/Components/UserListAdmin.tsx | 41 ++++++++++++++++------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/frontend/src/Components/UserListAdmin.tsx b/frontend/src/Components/UserListAdmin.tsx index 76cae9f..13fb6a4 100644 --- a/frontend/src/Components/UserListAdmin.tsx +++ b/frontend/src/Components/UserListAdmin.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import UserInfoModal from "./UserInfoModal"; +import InputField from "./InputField"; /** * A list of users for admin manage users page, that sets an onClick @@ -15,6 +16,7 @@ import UserInfoModal from "./UserInfoModal"; export function UserListAdmin(props: { users: string[] }): JSX.Element { const [modalVisible, setModalVisible] = useState(false); const [username, setUsername] = useState(""); + const [search, setSearch] = useState(""); const handleClick = (username: string): void => { setUsername(username); @@ -28,24 +30,39 @@ export function UserListAdmin(props: { users: string[] }): JSX.Element { return ( <> +

Manage Users

-
    - {props.users.map((user) => ( -
  • { - handleClick(user); - }} - > - {user} -
  • - ))} + { + setSearch(e.target.value); + }} + /> +
      + {props.users + .filter((user) => { + return search.toLowerCase() === "" + ? user + : user.toLowerCase().includes(search.toLowerCase()); + }) + .map((user) => ( +
    • { + handleClick(user); + }} + > + {user} +
    • + ))}