diff --git a/src/routes/(console)/organization-[organization]/billing/+page.svelte b/src/routes/(console)/organization-[organization]/billing/+page.svelte index 319647b01..9c658fd56 100644 --- a/src/routes/(console)/organization-[organization]/billing/+page.svelte +++ b/src/routes/(console)/organization-[organization]/billing/+page.svelte @@ -38,7 +38,7 @@ onMount(async () => { if (page.url.searchParams.has('type')) { if (page.url.searchParams.get('type') === 'upgrade') { - goto($upgradeURL); + await goto($upgradeURL); } if ( @@ -139,34 +139,34 @@ {/if} {#if $useNewPricingModal} + availableCredit={data.availableCredit} + currentPlan={data.currentPlan} + nextPlan={data.nextPlan} + currentAggregation={data.billingAggregation} + limit={data.limit} + offset={data.offset} /> {:else} + availableCredit={data.availableCredit} + currentPlan={data.currentPlan} + currentAggregation={data.billingAggregation} + currentInvoice={data.billingInvoice} /> {/if} + locale={data.locale} + countryList={data.countryList} + organization={data.organization} + billingAddress={data.billingAddress} /> - + diff --git a/src/routes/(console)/organization-[organization]/billing/+page.ts b/src/routes/(console)/organization-[organization]/billing/+page.ts index beabe19ea..5302ec09f 100644 --- a/src/routes/(console)/organization-[organization]/billing/+page.ts +++ b/src/routes/(console)/organization-[organization]/billing/+page.ts @@ -13,7 +13,7 @@ export const load: PageLoad = async ({ parent, depends, url, route }) => { if (!scopes.includes('billing.read')) { return redirect( - 301, + 302, resolve('/(console)/organization-[organization]', { organization: organization.$id }) diff --git a/src/routes/(console)/organization-[organization]/billing/paymentMethods.svelte b/src/routes/(console)/organization-[organization]/billing/paymentMethods.svelte index fb1eba319..074c85fb9 100644 --- a/src/routes/(console)/organization-[organization]/billing/paymentMethods.svelte +++ b/src/routes/(console)/organization-[organization]/billing/paymentMethods.svelte @@ -33,16 +33,32 @@ } from '@appwrite.io/pink-icons-svelte'; import type { Models } from '@appwrite.io/console'; - export let organization: Models.Organization; - export let methods: Models.PaymentMethodList; - export let backupMethod: Models.PaymentMethod; - export let primaryMethod: Models.PaymentMethod; + let { + organization, + paymentMethods, + backupMethod, + primaryMethod + }: { + organization: Models.Organization; + paymentMethods: Models.PaymentMethodList; + backupMethod?: Models.PaymentMethod; + primaryMethod?: Models.PaymentMethod; + } = $props(); - let showEdit = false; - let showDelete = false; - let showPayment = false; - let showReplace = false; - let isSelectedBackup = false; + let showEdit = $state(false); + let showDelete = $state(false); + let showPayment = $state(false); + let showReplace = $state(false); + let isSelectedBackup = $state(false); + + const hasPaymentError = $derived.by(() => { + return ( + primaryMethod?.lastError || + primaryMethod?.expired || + backupMethod?.lastError || + backupMethod?.expired + ); + }); async function addPaymentMethod(paymentMethodId: string) { try { @@ -85,15 +101,11 @@ } } - $: if (!showReplace) { - isSelectedBackup = false; - } - - $: hasPaymentError = - primaryMethod?.lastError || - primaryMethod?.expired || - backupMethod?.lastError || - backupMethod?.expired; + $effect(() => { + if (!showReplace) { + isSelectedBackup = false; + } + }); @@ -198,7 +210,7 @@ {/if} {#if !organization?.backupPaymentMethodId} - {@const filteredPaymentMethods = methods.paymentMethods.filter( + {@const filteredPaymentMethods = paymentMethods.paymentMethods.filter( (o) => !!o.last4 && o.$id !== organization?.paymentMethodId )}
@@ -226,7 +238,7 @@ - {#if methods.total} + {#if paymentMethods.total} {#each filteredPaymentMethods as paymentMethod} addBackupPaymentMethod(paymentMethod?.$id)}> @@ -252,7 +264,7 @@
{/if} {:else} - {@const filteredPaymentMethods = methods.paymentMethods.filter( + {@const filteredPaymentMethods = paymentMethods.paymentMethods.filter( (o) => !!o.last4 && o.$id !== organization?.backupPaymentMethodId )} @@ -262,7 +274,7 @@ - {#if methods.total} + {#if paymentMethods.total} {#each filteredPaymentMethods as paymentMethod} addPaymentMethod(paymentMethod?.$id)}> @@ -309,12 +321,17 @@ selectedPaymentMethod={isSelectedBackup ? backupMethod : primaryMethod} /> {/if} {#if isCloud && hasStripePublicKey} - + {/if} {#if showDelete && isCloud && hasStripePublicKey} {@const hasOtherMethod = isSelectedBackup ? !!organization?.paymentMethodId : !!organization?.backupPaymentMethodId} +