diff --git a/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx b/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx index cfa12ede9..cc6efde04 100644 --- a/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx +++ b/apps/console/src/pages/iam/organizations/settings/MembersPage.tsx @@ -3,24 +3,39 @@ import { graphql } from "relay-runtime"; import { MemberList } from "./_components/MemberList"; import type { MembersPageQuery } from "./__generated__/MembersPageQuery.graphql"; import { useTranslate } from "@probo/i18n"; -import { Card, TabBadge, TabItem, Tabs } from "@probo/ui"; +import { Button, Card, TabBadge, TabItem, Tabs } from "@probo/ui"; import { useState } from "react"; +import { InvitationList } from "./_components/InvitationList"; +import { InviteUserDialog } from "./_components/InviteUserDialog"; export const membersPageQuery = graphql` query MembersPageQuery($organizationId: ID!) { viewer @required(action: THROW) { + canInviteUser: permission( + action: "iam:membership:create" + id: $organizationId + ) + ...InvitationListItem_permissionsFragment + @arguments(organizationId: $organizationId) ...MemberListItem_permissionsFragment @arguments(organizationId: $organizationId) } organization: node(id: $organizationId) @required(action: THROW) { __typename ... on Organization { + ...InviteUserDialog_currentRoleFragment ...MemberListFragment @arguments(first: 20, order: { direction: ASC, field: CREATED_AT }) members(first: 20, orderBy: { direction: ASC, field: CREATED_AT }) @required(action: THROW) { totalCount } + ...InvitationListFragment + @arguments(first: 20, order: { direction: ASC, field: CREATED_AT }) + invitations(first: 20, orderBy: { direction: ASC, field: CREATED_AT }) + @required(action: THROW) { + totalCount + } } } } @@ -49,14 +64,11 @@ export function MembersPage(props: {