Merge pull request #1795 from appwrite/fix-campaign-apply-flow-scale

Fix flow for campaign credits apply
This commit is contained in:
Ernst Mulders
2025-04-28 10:19:17 +02:00
committed by GitHub
2 changed files with 22 additions and 8 deletions
@@ -43,7 +43,7 @@
</Layout.Stack>
<Layout.Stack direction="row" justifyContent="space-between">
<Typography.Text variant={isDowngrade ? 'm-500' : 'm-400'}
>Additional seats ({collaborators?.length})</Typography.Text>
>Additional seats ({collaborators?.length ?? 0})</Typography.Text>
<Typography.Text variant={isDowngrade ? 'm-500' : 'm-400'}
>{formatCurrency(extraSeatsCost)}</Typography.Text>
</Layout.Stack>
+21 -7
View File
@@ -19,7 +19,7 @@
import { ID } from '@appwrite.io/console';
import { onMount } from 'svelte';
import { writable } from 'svelte/store';
import { plansInfo } from '$lib/stores/billing';
import { plansInfo, type Tier } from '$lib/stores/billing';
import { Fieldset, Icon, Layout, Tooltip } from '@appwrite.io/pink-svelte';
import { IconInfo } from '@appwrite.io/pink-icons-svelte';
@@ -66,7 +66,7 @@
let coupon: string;
let couponData = data?.couponData;
let campaign = data?.campaign;
let billingPlan = BillingPlan.PRO;
let billingPlan: Tier = BillingPlan.PRO;
let tempOrgId = null;
$: onlyNewOrgs = (campaign && campaign.onlyNewOrgs) || (couponData && couponData.onlyNewOrgs);
@@ -197,10 +197,24 @@
(team) => team.$id === selectedOrgId
) as Organization;
$: billingPlan =
selectedOrg?.billingPlan === BillingPlan.SCALE
? BillingPlan.SCALE
: (campaign?.plan ?? BillingPlan.PRO);
function getBillingPlan(): Tier | undefined {
const campaignPlan =
campaign?.plan && $plansInfo.get(campaign.plan) ? $plansInfo.get(campaign.plan) : null;
const orgPlan =
selectedOrg?.billingPlan && $plansInfo.get(selectedOrg.billingPlan)
? $plansInfo.get(selectedOrg.billingPlan)
: null;
if (!campaignPlan || !orgPlan) {
return;
}
return campaignPlan.order > orgPlan.order ? campaign.plan : selectedOrg?.billingPlan;
}
$: if (selectedOrg) {
billingPlan = getBillingPlan();
}
</script>
<svelte:head>
@@ -286,7 +300,7 @@
</Form>
</Layout.Stack>
<svelte:fragment slot="aside">
{#if selectedOrg?.$id && selectedOrg?.billingPlan !== BillingPlan.FREE && selectedOrg?.billingPlan !== BillingPlan.GITHUB_EDUCATION}
{#if selectedOrg?.$id && selectedOrg?.billingPlan === billingPlan}
<section
class="card"
style:--p-card-padding="1.5rem"