fix(GRO-876): wire up refund button in InvoiceDetailModal (cherry-pick to dev) #361

Merged
groombook-engineer[bot] merged 3 commits from fix/gro-876-refund-button-dev into dev 2026-04-24 15:22:26 +00:00
Showing only changes of commit 1cc48f0b88 - Show all commits
+9 -2
View File
@@ -530,6 +530,14 @@ const [showRefundDialog, setShowRefundDialog] = useState(false);
setRefunding(true);
setRefundError(null);
try {
if (refundType === "partial") {
const parsed = parseFloat(refundAmount);
if (isNaN(parsed) || parsed <= 0) {
setRefundError("Please enter a valid amount greater than zero.");
setRefunding(false);
return;
}
}
const body = refundType === "partial" ? { amountCents: Math.round(parseFloat(refundAmount) * 100) } : {};
const res = await fetch(`/api/invoices/${invoice.id}/refund`, {
method: "POST",
@@ -557,8 +565,7 @@ const [showRefundDialog, setShowRefundDialog] = useState(false);
</div>
</div>
)}
</Modal>
</Modal>
);
}