From 2c6fb64d9bcf0da4586bf1885d1ab303381b1848 Mon Sep 17 00:00:00 2001
From: "groombook-engineer[bot]"
<269742240+groombook-engineer[bot]@users.noreply.github.com>
Date: Mon, 30 Mar 2026 03:38:50 +0000
Subject: [PATCH] fix: show Pay Now button and modal during impersonation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Remove readOnly guard from Pay Now button and PaymentModal in BillingPayments.
The readOnly guard was too broad — it hid the Pay Now button during staff
impersonation sessions, making it impossible for staff to collect payments.
Other readOnly guards (Remove payment method, Autopay toggle) remain intact.
Co-Authored-By: Paperclip
---
apps/web/src/portal/sections/BillingPayments.tsx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/apps/web/src/portal/sections/BillingPayments.tsx b/apps/web/src/portal/sections/BillingPayments.tsx
index 015da3c..e0b3b97 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 && (