From 0612e938a8595d47f647becae2d399cd891163c6 Mon Sep 17 00:00:00 2001 From: Peterson Rodrigues dos Santos Date: Tue, 20 Jan 2026 21:35:20 -0300 Subject: [PATCH] peterson-implement-toast-when-no-user-found --- src/components/Projects/Members/Members.jsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/components/Projects/Members/Members.jsx b/src/components/Projects/Members/Members.jsx index f4be402894..52b29e6272 100644 --- a/src/components/Projects/Members/Members.jsx +++ b/src/components/Projects/Members/Members.jsx @@ -23,6 +23,7 @@ import { boxStyle, boxStyleDark } from '~/styles'; import ToggleSwitch from '~/components/UserProfile/UserProfileEdit/ToggleSwitch'; import Loading from '~/components/common/Loading'; import { getProjectDetail } from '~/actions/project'; +import { toast } from 'react-toastify'; const Members = props => { const darkMode = props.state.theme.darkMode; @@ -37,6 +38,8 @@ const Members = props => { const canAssignProjectToUsers = props.hasPermission('assignProjectToUsers'); const canUnassignUserInProject = props.hasPermission('unassignUserInProject'); + const [allMembersProject, setAllProjectMembers] = useState([]); + const [isValid, setIsValid] = useState(true); const projectName = useSelector(state => state.projectById?.projectName || ''); @@ -103,6 +106,10 @@ const Members = props => { setQuery(currentValue); setSearchText(currentValue); + if(allMembersProject.filter(user => user.firstName.includes(currentValue)).length === 0) { + toast.error('No matching users found.'); + }; + if (lastTimeoutId !== null) clearTimeout(lastTimeoutId); const timeoutId = setTimeout(() => { @@ -126,6 +133,15 @@ const Members = props => { props.findProjectMembers(projectId, q); setShowFindUserList(true); }; + + useEffect(() => { + if(isValid && props.state.projectMembers.foundUsers.length > 0) { + setAllProjectMembers(props.state.projectMembers.foundUsers); + setIsValid(false); + } + + }, [props.state.projectMembers.foundUsers, isValid]); + return (