From 26ee1ca60d73ffd78d55642edb268758ce300d4a Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Sat, 23 May 2026 15:01:54 +0100 Subject: [PATCH] feat(contribution): port join.vue to ContributionAmountField Replace inline cadence radios, contribution input + presets, guidance label, and billing summary with the shared ContributionAmountField component. Removes duplicated state (guidanceLabel, firstCharge), unused imports (CONTRIBUTION_PRESETS, getGuidanceLabel), and the matching CSS rules. The parent retains the cadence ref because formatContributionAmount (left-column tier list) reads it. --- app/pages/join.vue | 183 +++------------------------------------------ 1 file changed, 11 insertions(+), 172 deletions(-) diff --git a/app/pages/join.vue b/app/pages/join.vue index 26a2621..cae35fe 100644 --- a/app/pages/join.vue +++ b/app/pages/join.vue @@ -129,7 +129,7 @@ type="text" placeholder="Your name" required - /> + >
@@ -140,7 +140,7 @@ type="email" placeholder="you@example.com" required - /> + >
@@ -152,7 +152,7 @@ type="radio" name="circle" value="community" - /> + >
-
- -
-
- - -
-
- - -
-
-
-
- -
- $ - -
-
- -
-

- {{ guidanceLabel }} -

-
-
-
-

- You'll be charged ${{ firstCharge }} today - (${{ form.contributionAmount }}/month × 12). -

-

- Then - ${{ firstCharge }} every - {{ cadence === "annual" ? "year" : "month" }}, until you cancel. -

-
-
+