{
  "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": []
}
