From 673f881b5432797a1a79652ead938b20058578c0 Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Sat, 18 Apr 2026 18:02:04 +0100 Subject: [PATCH] refactor(join): use getTierAmount helper for cadence pricing --- app/pages/join.vue | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/app/pages/join.vue b/app/pages/join.vue index 80bd80f..35c4035 100644 --- a/app/pages/join.vue +++ b/app/pages/join.vue @@ -121,14 +121,14 @@

Pay what you can

@@ -472,17 +472,25 @@ const contributionOptions = getContributionOptions(); // Minimal labels for the dropdown — reactive to cadence. const contributionItems = computed(() => { - const isAnnual = cadence.value === "annual"; return Object.values(CONTRIBUTION_TIERS).map((tier) => { const base = tier.amount; if (base === 0) return { value: tier.value, label: "$0" }; - const amt = isAnnual ? base * 10 : base; - const suffix = isAnnual ? "/yr" : "/mo"; - const hint = tier.value === "15" && !isAnnual ? " (suggested)" : ""; + const amt = getTierAmount(tier, cadence.value); + const suffix = cadence.value === "annual" ? "/yr" : "/mo"; + const hint = tier.value === "15" && cadence.value !== "annual" ? " (suggested)" : ""; return { value: tier.value, label: `$${amt}${suffix}${hint}` }; }); }); +// Format tier amount for display in tier list +const formatTierAmount = (value, label) => { + const tier = getContributionTierByValue(value); + if (!tier || tier.amount === 0) return "$0"; + const amt = getTierAmount(tier, cadence.value); + const suffix = cadence.value === "annual" ? "/yr" : "/mo"; + return `$${amt}${suffix}`; +}; + // Initialize composables const { initializeHelcimPay,