diff --git a/src/lib/stores/organization.ts b/src/lib/stores/organization.ts index d400742e3..128962b73 100644 --- a/src/lib/stores/organization.ts +++ b/src/lib/stores/organization.ts @@ -2,6 +2,7 @@ import { page } from '$app/stores'; import { derived, writable } from 'svelte/store'; import type { Models } from '@appwrite.io/console'; import type { Tier } from './billing'; +import type { Plan } from '$lib/sdk/billing'; export type Organization = Models.Team> & { billingBudget: number; @@ -43,4 +44,5 @@ export const organizationList = derived( ); export const organization = derived(page, ($page) => $page.data?.organization as Organization); +export const currentPlan = derived(page, ($page) => $page.data?.currentPlan as Plan); export const members = derived(page, ($page) => $page.data.members as Models.MembershipList); diff --git a/src/routes/(console)/organization-[organization]/+layout.ts b/src/routes/(console)/organization-[organization]/+layout.ts index ccc1c0a93..650990e86 100644 --- a/src/routes/(console)/organization-[organization]/+layout.ts +++ b/src/routes/(console)/organization-[organization]/+layout.ts @@ -12,6 +12,7 @@ import { get } from 'svelte/store'; import { preferences } from '$lib/stores/preferences'; import type { Organization } from '$lib/stores/organization'; import { defaultRoles, defaultScopes } from '$lib/constants'; +import type { Plan } from '$lib/sdk/billing'; export const load: LayoutLoad = async ({ params, depends }) => { depends(Dependencies.ORGANIZATION); @@ -19,12 +20,14 @@ export const load: LayoutLoad = async ({ params, depends }) => { depends(Dependencies.PAYMENT_METHODS); let roles = isCloud ? [] : defaultRoles; let scopes = isCloud ? [] : defaultScopes; + let currentPlan: Plan = null; try { if (isCloud) { const res = await sdk.forConsole.billing.getRoles(params.organization); roles = res.roles; scopes = res.scopes; + currentPlan = await sdk.forConsole.billing.getPlan(params.organization); if (scopes.includes('billing.read')) { await failedInvoice.load(params.organization); if (get(failedInvoice)) { @@ -53,6 +56,7 @@ export const load: LayoutLoad = async ({ params, depends }) => { header: Header, breadcrumbs: Breadcrumbs, organization, + currentPlan, members, roles, scopes diff --git a/src/routes/(console)/organization-[organization]/billing/+page.svelte b/src/routes/(console)/organization-[organization]/billing/+page.svelte index d3d6b7fd1..c31d1e8d0 100644 --- a/src/routes/(console)/organization-[organization]/billing/+page.svelte +++ b/src/routes/(console)/organization-[organization]/billing/+page.svelte @@ -1,6 +1,6 @@