From 99667add656a8867e98974af64eb163d546bb8f7 Mon Sep 17 00:00:00 2001 From: Padreug Date: Sat, 23 May 2026 18:40:50 +0200 Subject: [PATCH] feat(activities): provider-aware checkout labels and conversion preview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The buyer-side payment-method block now surfaces one button per configured fiat provider — Stripe, PayPal, Square, SEPA — rather than a single bare "Fiat" catch-all. Buttons read in provider names so the buyer never has to guess what rail backs each choice; the dispatch on click forwards both `rail` and `provider` to the existing `ticketApi.requestTicket` signature. PaymentMethodSelector + useFiatProviders from the base module drive the list. The Lightning button picks up a "≈ N sats" badge whenever the event price is denominated in fiat, so the buyer sees the live sat charge alongside the headline price. A new conversion-preview line under the headline shows the sat→fiat estimate in the inverse case (sat-denominated event with fiat enabled), giving the rail-vs- unit asymmetry an explicit place in the UI. Explanatory copy makes the equivalence explicit: both methods charge the same amount, rates are estimates, exact amount locks in at checkout. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../components/PurchaseTicketDialog.vue | 157 ++++++++++++++---- 1 file changed, 121 insertions(+), 36 deletions(-) diff --git a/src/modules/activities/components/PurchaseTicketDialog.vue b/src/modules/activities/components/PurchaseTicketDialog.vue index 790e2ab..db126cc 100644 --- a/src/modules/activities/components/PurchaseTicketDialog.vue +++ b/src/modules/activities/components/PurchaseTicketDialog.vue @@ -1,5 +1,5 @@