From 06001c58e0db16e44dcfd257f27ad24efcff3862 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 22 Jul 2024 15:31:25 +0200 Subject: [PATCH] fix: payment method removal --- .../billing/deleteOrgPayment.svelte | 12 ++++++++---- .../billing/paymentMethods.svelte | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/routes/console/organization-[organization]/billing/deleteOrgPayment.svelte b/src/routes/console/organization-[organization]/billing/deleteOrgPayment.svelte index e2de60520..e1e9f3ee8 100644 --- a/src/routes/console/organization-[organization]/billing/deleteOrgPayment.svelte +++ b/src/routes/console/organization-[organization]/billing/deleteOrgPayment.svelte @@ -6,17 +6,17 @@ import { sdk } from '$lib/stores/sdk'; import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { organization } from '$lib/stores/organization'; - import { Dependencies } from '$lib/constants'; + import { BillingPlan, Dependencies } from '$lib/constants'; export let showDelete = false; export let isBackup = false; export let disabled = false; + export let hasOtherMethod = false; let error: string; async function removeDefaultMethod() { - if (!$organization.paymentMethodId || !$organization.backupPaymentMethodId) return; - showDelete = false; + if ($organization?.billingPlan !== BillingPlan.FREE && !hasOtherMethod) return; try { await sdk.forConsole.billing.removeOrganizationPaymentMethod($organization.$id); @@ -26,13 +26,16 @@ }); trackEvent(Submit.OrganizationPaymentDelete); invalidate(Dependencies.ORGANIZATION); + showDelete = false; } catch (e) { error = e.message; trackError(e, Submit.OrganizationPaymentDelete); + } finally { + showDelete = false; } } async function removeBackuptMethod() { - if (!$organization.paymentMethodId || !$organization.backupPaymentMethodId) return; + if ($organization?.billingPlan !== BillingPlan.FREE && !hasOtherMethod) return; showDelete = false; try { @@ -43,6 +46,7 @@ }); trackEvent(Submit.OrganizationBackupPaymentDelete); invalidate(Dependencies.ORGANIZATION); + showDelete = false; } catch (e) { error = e.message; trackError(e, Submit.OrganizationBackupPaymentDelete); diff --git a/src/routes/console/organization-[organization]/billing/paymentMethods.svelte b/src/routes/console/organization-[organization]/billing/paymentMethods.svelte index 32331ad1f..ee7379316 100644 --- a/src/routes/console/organization-[organization]/billing/paymentMethods.svelte +++ b/src/routes/console/organization-[organization]/billing/paymentMethods.svelte @@ -325,6 +325,7 @@ : !!$organization?.backupPaymentMethodId} {/if}