feat(project-member-drawer): filter out already invited members from the selection list

- Implemented logic to filter available members by excluding those already part of the current project.
- Updated the member selection dropdown to display only non-invited members, enhancing the user experience during the invitation process.
This commit is contained in:
shancds
2025-07-25 12:07:43 +05:30
parent a9d0244ca2
commit 944acf99db

View File

@@ -33,6 +33,12 @@ const ProjectMemberDrawer = () => {
const [members, setMembers] = useState<ITeamMembersViewModel>({ data: [], total: 0 });
const [teamMembersLoading, setTeamMembersLoading] = useState(false);
// Filter out members already in the project
const currentProjectMemberIds = (currentMembersList || []).map(m => m.team_member_id).filter(Boolean);
const availableMembers = (members?.data || []).filter(
member => member.id && !currentProjectMemberIds.includes(member.id)
);
const fetchProjectMembers = async () => {
if (!projectId) return;
dispatch(getAllProjectMembers(projectId));
@@ -226,7 +232,7 @@ const ProjectMemberDrawer = () => {
onSearch={handleSearch}
onChange={handleSelectChange}
onKeyDown={handleKeyDown}
options={members?.data?.map(member => ({
options={availableMembers.map(member => ({
key: member.id,
value: member.id,
name: member.name,