diff --git a/src/lib/sdk/billing.ts b/src/lib/sdk/billing.ts index 9a4cdfe4f..95842f6c7 100644 --- a/src/lib/sdk/billing.ts +++ b/src/lib/sdk/billing.ts @@ -339,6 +339,7 @@ export type Plan = { backupPolicies: number; emailBranding: boolean; supportsCredits: boolean; + supportsOrganizationRoles: boolean; buildSize: number; // in MB deploymentSize: number; // in MB }; diff --git a/src/routes/(console)/organization-[organization]/members/+page.svelte b/src/routes/(console)/organization-[organization]/members/+page.svelte index e943c7158..ce1d59ec8 100644 --- a/src/routes/(console)/organization-[organization]/members/+page.svelte +++ b/src/routes/(console)/organization-[organization]/members/+page.svelte @@ -8,12 +8,13 @@ import Upgrade from '$lib/components/roles/upgrade.svelte'; import { getRoleLabel } from '$lib/stores/billing'; import { addNotification } from '$lib/stores/notifications'; - import { newMemberModal, organization } from '$lib/stores/organization'; + import { currentPlan, newMemberModal, organization } from '$lib/stores/organization'; import { isOwner } from '$lib/stores/roles'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; import Delete from '../deleteMember.svelte'; import Edit from './edit.svelte'; + import { isCloud } from '$lib/system'; import { IconDotsHorizontal, IconInfo, @@ -69,7 +70,11 @@ Members - newMemberModal.set(true)} event="create_user" size="s"> + newMemberModal.set(true)} + disabled={isCloud ? !$currentPlan?.addons?.seats?.supported : false}> Invite @@ -101,7 +106,7 @@ 2FA - {#each data.organizationMembers.memberships as member, index} + {#each data.organizationMembers.memberships as member, index (member.$id)} @@ -136,15 +141,17 @@
- { - selectedMember = member; - showEdit = true; - showDropdown[index] = false; - }}> - Edit role - + {#if isCloud && $currentPlan?.supportsOrganizationRoles} + { + selectedMember = member; + showEdit = true; + showDropdown[index] = false; + }}> + Edit role + + {/if} {#if member.invited && !member.joined}