adding and removing from list of selected

This commit is contained in:
Arjun Patel
2022-02-01 17:17:06 -08:00
parent eef9a46426
commit 87b3b81470
2 changed files with 27 additions and 5 deletions
@@ -81,8 +81,22 @@ export default function CreateConversation() {
}; };
}, []); }, []);
const selectUser = (user) => { const selectUser = (addUser: User) => {
setSelectedUsers((prevUsers) => [user, ...prevUsers]); if (selectedUsers.some((currUser) => currUser.id == addUser.id)) {
toast("Already added member!");
return;
}
setSelectedUsers((prevUsers) => [addUser, ...prevUsers]);
};
const removeUser = (removeUser: User) => {
setSelectedUsers((prevUsers) =>
prevUsers.filter((pUser) => pUser.id != removeUser.id)
);
};
const clearSelected = () => {
setSelectedUsers([] as User[]);
}; };
return ( return (
@@ -160,7 +174,12 @@ export default function CreateConversation() {
Selected Selected
</span> </span>
<button className="ml-auto text-slate-300 text-xs">clear</button> <button
onClick={clearSelected}
className="ml-auto text-slate-300 text-xs"
>
clear
</button>
</span> </span>
{/* list of selected people who are nirvana users */} {/* list of selected people who are nirvana users */}
@@ -170,7 +189,10 @@ export default function CreateConversation() {
key={selectUser.id} key={selectUser.id}
user={selectUser} user={selectUser}
actionButton={ actionButton={
<button className="p-2 rounded-full hover:cursor-pointer text-orange-500 ml-auto"> <button
onClick={() => removeUser(selectUser)}
className="p-2 rounded-full hover:cursor-pointer text-orange-500 ml-auto"
>
<FaRegTimesCircle className="ml-auto text-lg" /> <FaRegTimesCircle className="ml-auto text-lg" />
</button> </button>
} }
@@ -7,7 +7,7 @@ export default function SelectedUserRow(props: {
actionButton: ReactElement; actionButton: ReactElement;
}) { }) {
return ( return (
<span className="flex flex-row items-center py-1 border-t"> <span className="flex flex-row items-center border-t hover:bg-slate-50 p-5">
<UserAvatar <UserAvatar
userFirstName={props.user.firstName} userFirstName={props.user.firstName}
avatarUrl={props.user.avatarUrl} avatarUrl={props.user.avatarUrl}