UNPKG

x0-react-sdk

Version:

React SDK for X0Pay Hyperlane token bridging with MetaMask and Safe wallet integration

38 lines (31 loc) 1.05 kB
export const isMobile = (): boolean => { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); }; export const isMetaMaskInstalled = (): boolean => { return typeof window !== 'undefined' && !!window.ethereum?.isMetaMask; }; export const isWalletConnectAvailable = (): boolean => { return typeof window !== 'undefined'; }; export const getRecommendedWalletType = (): 'metamask' | 'walletconnect' => { if (isMobile()) { return 'walletconnect'; } if (isMetaMaskInstalled()) { return 'metamask'; } return 'walletconnect'; }; export const isInAppBrowser = (): boolean => { const userAgent = navigator.userAgent.toLowerCase(); return ( userAgent.includes('fbav') || // Facebook userAgent.includes('instagram') || // Instagram userAgent.includes('line') || // Line userAgent.includes('wv') || // WebView userAgent.includes('micromessenger') // WeChat ); }; export const canUseDeepLinks = (): boolean => { return isMobile() && !isInAppBrowser(); };