diff --git a/src/components/pay/pay-manual-transfer-view.tsx b/src/components/pay/pay-manual-transfer-view.tsx
index 70b3555..9ca8ce3 100644
--- a/src/components/pay/pay-manual-transfer-view.tsx
+++ b/src/components/pay/pay-manual-transfer-view.tsx
@@ -58,7 +58,7 @@ export function PayManualTransferView({
Send the exact amount below from your wallet to the address shown. Once
- you've broadcast the transfer, tap "I have sent the payment" so
+ you have broadcast the transfer, tap I have sent the payment so
Shade can start watching the chain for it.
diff --git a/src/components/pay/pay-tabs.tsx b/src/components/pay/pay-tabs.tsx
index b9220b0..81b13c4 100644
--- a/src/components/pay/pay-tabs.tsx
+++ b/src/components/pay/pay-tabs.tsx
@@ -4,6 +4,7 @@ import { useState } from "react";
import { cn } from "@/lib/utils";
import { PayManualTransferView } from "./pay-manual-transfer-view";
+import { PaymentSuccess } from "./payment-success";
import { PayWithConnectedWalletView } from "./pay-with-connected-wallet-view";
type PayTab = "connected-wallet" | "manual-transfer";
@@ -15,6 +16,20 @@ const tabs: Array<{ id: PayTab; label: string }> = [
export function PayTabs() {
const [activeTab, setActiveTab] = useState
("connected-wallet");
+ const [paid, setPaid] = useState(false);
+
+ async function handleManualPaymentConfirmed() {
+ await new Promise((resolve) => window.setTimeout(resolve, 900));
+ setPaid(true);
+ }
+
+ if (paid) {
+ return (
+
+ );
+ }
return (
@@ -60,7 +75,7 @@ export function PayTabs() {
hidden={activeTab !== "manual-transfer"}
className="rounded-lg border bg-card p-6"
>
-
+
);
diff --git a/src/components/pay/payment-success.tsx b/src/components/pay/payment-success.tsx
new file mode 100644
index 0000000..a46cb27
--- /dev/null
+++ b/src/components/pay/payment-success.tsx
@@ -0,0 +1,41 @@
+"use client";
+
+import { CheckCircle2, Download } from "lucide-react";
+
+import { Button } from "@/components/ui/button";
+
+export function PaymentSuccess() {
+ return (
+