From 317915a10daae56f28c8d6569b0edc9ab90e9e35 Mon Sep 17 00:00:00 2001 From: Barkley Trimsworth Date: Mon, 30 Mar 2026 03:23:45 +0000 Subject: [PATCH] fix(gro-279): show Pay Now button during staff impersonation Remove !readOnly guard from Pay Now button and PaymentModal in BillingPayments.tsx. The readOnly guard was too broad, hiding the Pay Now button during all impersonation sessions even though impersonation is the only way staff can access a client's billing page. Destructive actions (remove payment method, autopay toggle) still respect the readOnly flag. Co-Authored-By: Paperclip --- apps/web/src/portal/sections/BillingPayments.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/web/src/portal/sections/BillingPayments.tsx b/apps/web/src/portal/sections/BillingPayments.tsx index bc110e3..81d14e2 100644 --- a/apps/web/src/portal/sections/BillingPayments.tsx +++ b/apps/web/src/portal/sections/BillingPayments.tsx @@ -110,14 +110,12 @@ export function BillingPayments({ sessionId, readOnly }: BillingPaymentsProps) { {pending.length} unpaid invoice{pending.length > 1 ? "s" : ""}

- {!readOnly && ( - - )} )} @@ -293,7 +291,7 @@ export function BillingPayments({ sessionId, readOnly }: BillingPaymentsProps) { )} {/* Payment Modal */} - {showPaymentModal && !readOnly && ( + {showPaymentModal && (