diff --git a/frontend/src/views/Org/UserPage/components/UserProjectsSection/UserGroupProjectsModal.tsx b/frontend/src/views/Org/UserPage/components/UserProjectsSection/UserGroupProjectsModal.tsx index b00d44df1..f0d021292 100644 --- a/frontend/src/views/Org/UserPage/components/UserProjectsSection/UserGroupProjectsModal.tsx +++ b/frontend/src/views/Org/UserPage/components/UserProjectsSection/UserGroupProjectsModal.tsx @@ -1,12 +1,9 @@ -import { useCallback, useMemo, useState } from "react"; +import { useMemo, useState } from "react"; import Link from "next/link"; import { faFolder, faMagnifyingGlass } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createNotification } from "@app/components/notifications"; -import { OrgPermissionCan } from "@app/components/permissions"; import { - Button, EmptyState, Input, Modal, @@ -20,8 +17,6 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context"; -import { useDeleteGroupFromWorkspace } from "@app/hooks/api"; import { TGroupWithProjectMemberships } from "@app/hooks/api/groups/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -45,8 +40,6 @@ export const UserGroupsProjectsModal = ({ const [filteredProjectName, setFilteredProjectName] = useState(""); - const { mutateAsync: deleteGroupFromProject } = useDeleteGroupFromWorkspace(); - const filteredMemberships = useMemo(() => { if (!popupData?.group) return []; @@ -55,27 +48,6 @@ export const UserGroupsProjectsModal = ({ }); }, [filteredProjectName, popupData?.group?.projectMemberships]); - const removeProjectFromGroup = useCallback( - async (projectSlug: string) => { - await deleteGroupFromProject({ - groupSlug: popupData.groupSlug, - projectSlug, - username: popupData.username - }); - - createNotification({ - type: "success", - text: "Project removed from group" - }); - - // Manually remove the project from the list, since the query invalidation won't trigger the popup data to be updated - popupData.group.projectMemberships = popupData.group.projectMemberships.filter( - (membership) => membership.project.slug !== projectSlug - ); - }, - [popupData] - ); - return ( - + setFilteredProjectName(e.target.value)} @@ -95,58 +70,34 @@ export const UserGroupsProjectsModal = ({ Project + Roles {filteredMemberships?.map(({ project, roles }) => { return ( - +

{project.name}

- {/* If there's only one role, display the role.name. If more, display role.name (+X more) */} + + role.role.charAt(0).toUpperCase() + role.role.slice(1)) .join(", ")} > -

+

{roles.length === 1 ? roles[0].role : `${roles[0].role} (+${roles.length - 1} more)`}

- - - {(isAllowed) => { - return ( -
- -
- ); - }} -
- ); })}