diff --git a/.changeset/tired-windows-clean.md b/.changeset/tired-windows-clean.md new file mode 100644 index 00000000000..99b87b860ab --- /dev/null +++ b/.changeset/tired-windows-clean.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Improve pay error messages diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx index 5f55674379f..20ebb8a4e7d 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx @@ -68,7 +68,11 @@ export function SwapConfirmationScreen(props: { const uiErrorMessage = useMemo(() => { if (step === "approval" && status === "error" && error) { - if (error.toLowerCase().includes("user rejected")) { + if ( + error.toLowerCase().includes("user rejected") || + error.toLowerCase().includes("user closed modal") || + error.toLowerCase().includes("user denied") + ) { return { title: "Failed to Approve", message: "Your wallet rejected the approval request.", @@ -82,7 +86,11 @@ export function SwapConfirmationScreen(props: { } if (step === "swap" && status === "error" && error) { - if (error.toLowerCase().includes("user rejected")) { + if ( + error.toLowerCase().includes("user rejected") || + error.toLowerCase().includes("user closed modal") || + error.toLowerCase().includes("user denied") + ) { return { title: "Failed to Confirm", message: "Your wallet rejected the confirmation request.", diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx index 8242ef509ce..c699e1272e0 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx @@ -112,7 +112,11 @@ export function TransferConfirmationScreen( const uiErrorMessage = useMemo(() => { if (step === "approve" && status.id === "error" && status.error) { - if (status.error.toLowerCase().includes("user rejected")) { + if ( + status.error.toLowerCase().includes("user rejected") || + status.error.toLowerCase().includes("user closed modal") || + status.error.toLowerCase().includes("user denied") + ) { return { title: "Failed to Approve", message: "Your wallet rejected the approval request.", diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx index 37f6c899819..b97b123f216 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx @@ -145,7 +145,11 @@ export function SendFundsForm(props: { return locale.transactionFailed; } - if (message.includes("user rejected")) { + if ( + message.includes("user rejected") || + message.includes("user closed modal") || + message.includes("user denied") + ) { return locale.transactionRejected; }