From a1a7b5b28077875102e405b4b21b34698594eadf Mon Sep 17 00:00:00 2001 From: talksik Date: Wed, 18 May 2022 05:43:46 -0500 Subject: [PATCH] max number checks --- .../terminal/compose/NewChannelForm.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/desktop/src/tree/protected/terminal/compose/NewChannelForm.tsx b/packages/desktop/src/tree/protected/terminal/compose/NewChannelForm.tsx index e66b128..1655f9b 100644 --- a/packages/desktop/src/tree/protected/terminal/compose/NewChannelForm.tsx +++ b/packages/desktop/src/tree/protected/terminal/compose/NewChannelForm.tsx @@ -7,6 +7,8 @@ import { Avatar, Divider, Skeleton, Spin } from 'antd'; import { User } from '@nirvana/core/models/user.model'; import CreateLineRequest from '@nirvana/core/requests/createLine.request'; +const maxUserCount = 8; + export default function NewChannelForm({ handleClose }: { handleClose: () => void }) { const [peopleSearchQuery, setPeopleSearchQuery] = useState(''); @@ -58,6 +60,13 @@ export default function NewChannelForm({ handleClose }: { handleClose: () => voi if (prevUsers.find((currUser) => currUser.email === newUser.email)) { return prevUsers; } + + if (prevUsers.length === maxUserCount - 1) { + toast.error('you can only have 8 people per channel!'); + + return prevUsers; + } + return [...prevUsers, newUser]; }); @@ -91,6 +100,12 @@ export default function NewChannelForm({ handleClose }: { handleClose: () => voi return; } + if (selectedUsers.length === maxUserCount - 1) { + toast.error('you can only have 8 people per channel!'); + + return; + } + const selectedMemberIds = selectedUsers.map((selectedPerson) => selectedPerson._id.toString(), ); @@ -136,6 +151,7 @@ export default function NewChannelForm({ handleClose }: { handleClose: () => voi {/* dropdown search results */}
{(userSearchRes.loading || isSearchingUsers) && } + {(!userSearchRes.value || userSearchRes.value?.users.length === 0) && selectedUsers?.length === 0 && ( {`Can't find someone? Invite them and tell them the secret passcode!`}