Search and design changes
This commit is contained in:
parent
2692127fdf
commit
43d83ca7b3
1 changed files with 29 additions and 12 deletions
|
@ -1,5 +1,6 @@
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import UserInfoModal from "./UserInfoModal";
|
import UserInfoModal from "./UserInfoModal";
|
||||||
|
import InputField from "./InputField";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of users for admin manage users page, that sets an onClick
|
* 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 {
|
export function UserListAdmin(props: { users: string[] }): JSX.Element {
|
||||||
const [modalVisible, setModalVisible] = useState(false);
|
const [modalVisible, setModalVisible] = useState(false);
|
||||||
const [username, setUsername] = useState("");
|
const [username, setUsername] = useState("");
|
||||||
|
const [search, setSearch] = useState("");
|
||||||
|
|
||||||
const handleClick = (username: string): void => {
|
const handleClick = (username: string): void => {
|
||||||
setUsername(username);
|
setUsername(username);
|
||||||
|
@ -28,24 +30,39 @@ export function UserListAdmin(props: { users: string[] }): JSX.Element {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<h1 className="font-bold text-[30px] mb-[20px]">Manage Users</h1>
|
||||||
<UserInfoModal
|
<UserInfoModal
|
||||||
onClose={handleClose}
|
onClose={handleClose}
|
||||||
isVisible={modalVisible}
|
isVisible={modalVisible}
|
||||||
username={username}
|
username={username}
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<ul className="font-bold underline text-[30px] cursor-pointer padding">
|
<InputField
|
||||||
{props.users.map((user) => (
|
placeholder={"Search"}
|
||||||
<li
|
type={"Text"}
|
||||||
className="pt-5"
|
value={search}
|
||||||
key={user}
|
onChange={(e) => {
|
||||||
onClick={() => {
|
setSearch(e.target.value);
|
||||||
handleClick(user);
|
}}
|
||||||
}}
|
/>
|
||||||
>
|
<ul className="mt-3 border-2 text-left border-black rounded-2xl px-2 divide-y divide-gray-300 font-semibold text-[30px] transition-all cursor-pointer overflow-auto h-[65vh] w-[50vw]">
|
||||||
{user}
|
{props.users
|
||||||
</li>
|
.filter((user) => {
|
||||||
))}
|
return search.toLowerCase() === ""
|
||||||
|
? user
|
||||||
|
: user.toLowerCase().includes(search.toLowerCase());
|
||||||
|
})
|
||||||
|
.map((user) => (
|
||||||
|
<li
|
||||||
|
className="hover:font-extrabold hover:underline p-1"
|
||||||
|
key={user}
|
||||||
|
onClick={() => {
|
||||||
|
handleClick(user);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{user}
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|
Loading…
Reference in a new issue