From 8f0c9027b3f4d15f6d5a084acc6196e7f700d138 Mon Sep 17 00:00:00 2001 From: ChiragAgg5k Date: Mon, 9 Jun 2025 10:38:52 +0530 Subject: [PATCH 1/3] fix: add optional chaining for organization ID --- .../(console)/organization-[organization]/header.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index 86fe4a0c9..c9185b305 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -18,7 +18,7 @@ } from '$lib/stores/roles'; import { GRACE_PERIOD_OVERRIDE, isCloud } from '$lib/system'; import { IconGithub, IconPlus } from '@appwrite.io/pink-icons-svelte'; - import { Icon, Tooltip, Typography, Layout, Badge } from '@appwrite.io/pink-svelte'; + import { Badge, Icon, Layout, Tooltip, Typography } from '@appwrite.io/pink-svelte'; let areMembersLimited: boolean; $: organization.subscribe(() => { @@ -75,7 +75,7 @@ ].filter((tab) => !tab.disabled); -{#if $organization.$id} +{#if $organization?.$id} From a51ff50bd86e8a2ab3826afbd48ac5ce24cc44a9 Mon Sep 17 00:00:00 2001 From: ChiragAgg5k Date: Mon, 9 Jun 2025 11:13:54 +0530 Subject: [PATCH 2/3] fix: update organization store usage to improve type safety --- .../organization-[organization]/header.svelte | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index c9185b305..126503c56 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -8,7 +8,7 @@ import { isTabSelected } from '$lib/helpers/load'; import { Cover } from '$lib/layout'; import { daysLeftInTrial, getServiceLimit, plansInfo, readOnly } from '$lib/stores/billing'; - import { members, newMemberModal, organization } from '$lib/stores/organization'; + import { members, newMemberModal, type Organization } from '$lib/stores/organization'; import { canSeeBilling, canSeeProjects, @@ -21,16 +21,18 @@ import { Badge, Icon, Layout, Tooltip, Typography } from '@appwrite.io/pink-svelte'; let areMembersLimited: boolean; - $: organization.subscribe(() => { + + $: { const limit = getServiceLimit('members') || Infinity; const isLimited = limit !== 0 && limit < Infinity; areMembersLimited = isCloud && (($readOnly && !GRACE_PERIOD_OVERRIDE) || (isLimited && $members?.total >= limit)); - }); + } + $: organization = page.data.organization as Organization; $: avatars = $members.memberships?.map((m) => m.userName || m.userEmail) ?? []; - $: organizationId = $organization?.$id ?? page.params.organization; + $: organizationId = organization?.$id ?? page.params.organization; $: path = `${base}/organization-${organizationId}`; $: tabs = [ { @@ -75,26 +77,26 @@ ].filter((tab) => !tab.disabled); -{#if $organization?.$id} +{#if organization?.$id} - {$organization.name} + {organization.name} - {#if isCloud && $organization?.billingPlan === BillingPlan.GITHUB_EDUCATION} + {#if isCloud && organization?.billingPlan === BillingPlan.GITHUB_EDUCATION} - {:else if isCloud && $organization?.billingPlan === BillingPlan.FREE} + {:else if isCloud && organization?.billingPlan === BillingPlan.FREE} {/if} - {#if isCloud && $organization?.billingTrialStartDate && $daysLeftInTrial > 0 && $organization.billingPlan !== BillingPlan.FREE && $plansInfo.get($organization.billingPlan)?.trialDays} + {#if isCloud && organization?.billingTrialStartDate && $daysLeftInTrial > 0 && organization.billingPlan !== BillingPlan.FREE && $plansInfo.get(organization.billingPlan)?.trialDays} {`Your trial ends on ${toLocaleDate( - $organization.billingStartDate + organization.billingStartDate )}. ${$daysLeftInTrial} days remaining.`} From ae1f4b0f744295f53a96ad7cd4dca49d1d90777f Mon Sep 17 00:00:00 2001 From: ChiragAgg5k Date: Mon, 9 Jun 2025 11:15:35 +0530 Subject: [PATCH 3/3] fix: simplify organization ID retrieval in header component --- src/routes/(console)/organization-[organization]/header.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index 126503c56..d4b2d16c9 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -32,8 +32,7 @@ $: organization = page.data.organization as Organization; $: avatars = $members.memberships?.map((m) => m.userName || m.userEmail) ?? []; - $: organizationId = organization?.$id ?? page.params.organization; - $: path = `${base}/organization-${organizationId}`; + $: path = `${base}/organization-${organization.$id}`; $: tabs = [ { href: path,