From 84b54dc059cd11b71a36a099fbfef137c9dc41e9 Mon Sep 17 00:00:00 2001 From: abefernan <44572727+abefernan@users.noreply.github.com> Date: Tue, 2 May 2023 09:18:18 +0200 Subject: [PATCH] Add getConnectError helper --- lib/errorHelpers.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/errorHelpers.ts diff --git a/lib/errorHelpers.ts b/lib/errorHelpers.ts new file mode 100644 index 0000000..d02643b --- /dev/null +++ b/lib/errorHelpers.ts @@ -0,0 +1,26 @@ +const getConnectError = (error: unknown): string => { + const rawErrorMsg = + error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase(); + + // Keplr + if (rawErrorMsg.includes("window.keplr is undefined")) { + return "Keplr needs to be installed"; + } + + // Ledger + if (rawErrorMsg.includes("navigator.usb is undefined")) { + return "Your browser is not compatible with ledger"; + } + + if (rawErrorMsg.includes("no device selected")) { + return "A ledger device needs to be selected"; + } + + if (rawErrorMsg.includes("open the cosmos ledger app")) { + return "The Cosmos Ledger app needs to be open"; + } + + return "Error when connecting to wallet"; +}; + +export { getConnectError };