@privy-io/react-auth
Version:
React client for the Privy Auth API
2 lines (1 loc) • 4.24 kB
JavaScript
;var e=require("react/jsx-runtime"),r=require("react"),i=require("./get-is-unified-wallet-D4ouXJpi.js"),t=require("./to-ui-error-ER-8XlJF.js");require("viem"),require("./context-DFq1obBO.js"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("./internal-context-NWsAL807.js"),require("ofetch"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("./ModalHeader-DB7Tbjwz.js"),require("styled-components"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./ScreenLayout-BeH-Q6N2.js"),require("./Button-Bm_Ft0Dw.js"),require("./useActiveWallet-BOX8xCn9.js"),require("zustand"),require("react-device-detect"),require("./prepareFundingModalData-Cnd6rhhJ.js"),require("eventemitter3"),require("./events-context-Di6--rDg.js"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-BLFNjTwC.js"),require("./Screen-D9Tvi297.js"),require("./index-CRFXS9pP.js"),require("./PinInput-DSI6rjOn.js"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("./StackedContainer-ByB6Mdu0.js"),require("./useGetTokenPrice-BHq-guWz.js"),require("./useGetSolPrice-C986iVoO.js"),require("./index-NJrQkxJ7.js"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CcfSRv1R.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),require("./TransactionDetails-KB5Wyu1l.js"),require("./WalletLink-GY0_Tmtg.js"),require("./ethers-DZGJ4Y5i.js"),require("./getFormattedUsdFromLamports-Mu2fqwL2.js"),require("./transaction-DjF5X-by.js"),require("./Layouts-dRL0OSpp.js"),require("@heroicons/react/24/outline/ChevronDownIcon");const o={component:()=>{let{user:o}=i.usePrivyContext(),{data:s}=i.usePrivyModal(),[u,n]=r.useState(o?.mfaMethods[0]),[a,c]=r.useState(!1),[l,q]=r.useState(),[d,h]=r.useState();if(r.useEffect((()=>{n(o?.mfaMethods[0])}),[o?.mfaMethods]),!s?.mfaVerify)throw Error("Missing modal data for MFA verification screen.");let{onFailure:f,onSuccess:j,generateOptions:y,verifyTotpCode:v,verifyPasskey:m,verifySmsCode:p,sendSmsCode:k}=s.mfaVerify,S=async e=>{if("passkey"!==e)try{n(e),"sms"===e&&(n(e),await k()),"totp"===e&&n(e)}catch(e){console.error(e)}else try{n(e);let r=await y();if(!r)throw Error("something went wrong");q(r),await m(r),c(!0),h(void 0),j()}catch(e){h(t.toUIError(e))}},g=async e=>{h(void 0);try{if(!e||!u)return;if("passkey"===u){if(!l)throw Error("Missing passkey challenge");await m(l)}else"sms"===u?await p(e):"totp"===u&&await v(e);h(void 0),c(!0),j()}catch(e){throw t.toUIError(e).error}},w=()=>{d||!a?f(d?.error??Error("Canceled MFA verification.")):j()},M=r.useRef(!1);return r.useEffect((()=>{!M.current&&u&&(M.current=!0,S(u).finally((()=>{M.current=!1})))}),[open]),o?"passkey"===u?/*#__PURE__*/e.jsx(t.VerifyWithPasskey,{account:o.linkedAccounts.filter((e=>"passkey"===e.type&&e.enrolledInMfa)).sort(((e,r)=>r.firstVerifiedAt.valueOf()-e.firstVerifiedAt.valueOf()))[0],submitSuccess:a,hasBlockingError:d?.isBlocking??!1,error:d?.error,onClose:w,onBack:()=>{n(void 0),h(void 0)},handleSubmit:()=>g(l).catch(h)}):"sms"===u||"totp"===u?/*#__PURE__*/e.jsx(t.VerifyWithSmsOrTotpCode,{selectedMethod:u,submitSuccess:a,hasBlockingError:d?.isBlocking??!1,handleSubmitCode:g,onClose:w,onBack:o.mfaMethods.length>1?()=>n(void 0):void 0}):/*#__PURE__*/e.jsx(t.VerifyMethodSelectionScreen,{user:o,onSelect:S,handleClose:w}):null}};exports.MfaAuthVerifyFlowScreen=o,exports.default=o;