adding and removing from list of selected
This commit is contained in:
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user