@particle-network/connectkit
Version:
8 lines (7 loc) • 3.44 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/hooks/useConnectWithWallet.ts"],
"sourcesContent": ["import type { AuthConnectParams, PasskeyParams } from '../actions/connect';\nimport { RoutePath } from '../pages';\nimport { hasPCDownloadUrl, openMobileUrl } from '../utils';\nimport { useConnector } from './useConnectors';\nimport useIsMobile from './useIsMobile';\nimport { useRouter } from './useRouter';\nimport type { WalletProps } from './useWalletsProps';\n\nexport const useConnectWithWallet = () => {\n const { navigate } = useRouter();\n const isMobile = useIsMobile();\n const connector = useConnector('walletConnect');\n\n const connectWallet = (\n walletProps: WalletProps,\n params?: { passkeyParams?: PasskeyParams; authParams?: AuthConnectParams }\n ) => {\n console.log(`connect wallet, id: ${walletProps.connector.id}, isInstalled: ${walletProps.isInstalled}`);\n if (walletProps.isInstalled) {\n navigate(RoutePath.Connecting, {\n wallet: walletProps,\n passkeyParams: params?.passkeyParams,\n authParams: params?.authParams,\n });\n } else if (walletProps.connector.id === 'walletConnect') {\n if (isMobile) {\n // loading, show w3m and close modal\n navigate(RoutePath.Connecting, { wallet: walletProps });\n } else {\n // walletconnect, show qrcode.\n navigate(RoutePath.Walletconnect, { wallet: walletProps });\n }\n } else if (walletProps.connector.chainType === 'evm' && walletProps.getWalletConnectDeeplink && connector) {\n if (isMobile) {\n // \u8DF3\u8F6Cloading\uFF0C \u83B7\u53D6\u5230uri\u540E\u8DF3\u8F6C\n navigate(RoutePath.Connecting, { wallet: walletProps });\n } else {\n // show qrcode.\n navigate(RoutePath.Walletconnect, { wallet: walletProps });\n }\n } else {\n // solana/evm wallets, unsupport walletconnect.\n if (walletProps.getDAppBrowserDeeplink && isMobile) {\n // deeplink -> dapp browser\n const url = walletProps.getDAppBrowserDeeplink(window.location.href);\n openMobileUrl(url);\n } else if (!isMobile && (hasPCDownloadUrl(walletProps) || walletProps.id === 'braveWallet')) {\n // download\n navigate(RoutePath.DownloadApp, { wallet: walletProps });\n } else {\n // unavailable, need to download wallet if has url.\n navigate(RoutePath.Connecting, { wallet: walletProps });\n }\n }\n };\n\n return connectWallet;\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA,IAQa;AARb;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAGO,IAAM,uBAAuB,MAAM;AACxC,YAAM,EAAE,SAAS,IAAI,UAAU;AAC/B,YAAM,WAAW,YAAY;AAC7B,YAAM,YAAY,aAAa,eAAe;AAE9C,YAAM,gBAAgB,CACpB,aACA,WACG;AAEH,YAAI,YAAY,aAAa;AAC3B,kDAA+B;AAAA,YAC7B,QAAQ;AAAA,YACR,eAAe,QAAQ;AAAA,YACvB,YAAY,QAAQ;AAAA,UACtB,CAAC;AAAA,QACH,WAAW,YAAY,UAAU,OAAO,iBAAiB;AACvD,cAAI,UAAU;AAEZ,oDAA+B,EAAE,QAAQ,YAAY,CAAC;AAAA,UACxD,OAAO;AAEL,0DAAkC,EAAE,QAAQ,YAAY,CAAC;AAAA,UAC3D;AAAA,QACF,WAAW,YAAY,UAAU,cAAc,SAAS,YAAY,4BAA4B,WAAW;AACzG,cAAI,UAAU;AAEZ,oDAA+B,EAAE,QAAQ,YAAY,CAAC;AAAA,UACxD,OAAO;AAEL,0DAAkC,EAAE,QAAQ,YAAY,CAAC;AAAA,UAC3D;AAAA,QACF,OAAO;AAEL,cAAI,YAAY,0BAA0B,UAAU;AAElD,kBAAM,MAAM,YAAY,uBAAuB,OAAO,SAAS,IAAI;AACnE,0BAAc,GAAG;AAAA,UACnB,WAAW,CAAC,aAAa,iBAAiB,WAAW,KAAK,YAAY,OAAO,gBAAgB;AAE3F,uDAAgC,EAAE,QAAQ,YAAY,CAAC;AAAA,UACzD,OAAO;AAEL,oDAA+B,EAAE,QAAQ,YAAY,CAAC;AAAA,UACxD;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;",
"names": []
}