@privy-io/react-auth
Version:
React client for the Privy Auth API
2 lines (1 loc) • 4 kB
JavaScript
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/ExclamationTriangleIcon"),t=require("@heroicons/react/24/outline/LockClosedIcon"),o=require("react"),i=require("./get-is-unified-wallet-D4ouXJpi.js"),n=require("./Button-Bm_Ft0Dw.js"),l=require("./ModalHeader-DB7Tbjwz.js"),s=require("styled-components"),a=require("./Subtitle-Dtmrw8l5.js"),c=require("./Title-C-tHJvrb.js"),u=require("./context-DFq1obBO.js"),d=require("./internal-context-NWsAL807.js"),y=require("./useActiveWallet-BOX8xCn9.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("viem"),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("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),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");var v=/*#__PURE__*/h(r),f=/*#__PURE__*/h(t);const g=/*#__PURE__*/s.styled.div.withConfig({displayName:"WithCircleBorder",componentId:"sc-e4fc5563-0"})(["&&{border-width:4px;}display:flex;justify-content:center;align-items:center;padding:1rem;aspect-ratio:1;border-style:solid;border-color:",";border-radius:50%;"],(e=>e.$color??"var(--privy-color-accent)")),m={component:()=>{let{user:r}=i.usePrivyContext(),{client:t,walletProxy:s,refreshSessionAndUser:h,closePrivyModal:m}=d.usePrivyInternal(),j=i.usePrivyModal(),{entropyId:q,entropyIdVerifier:x}=j.data?.recoverWallet,[p,w]=o.useState(!1),[S,b]=o.useState(null),[C,I]=o.useState(null);function W(){if(!p){if(C)return j.data?.setWalletPassword?.onFailure(C),void m();if(!S)return j.data?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),void m()}}j.onUserCloseViaDialogOrKeybindRef.current=W;let P=!(!p&&!S);return C?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:W},"header"),/*#__PURE__*/e.jsx(g,{$color:"var(--privy-color-error)",style:{alignSelf:"center"},children:/*#__PURE__*/e.jsx(v.default,{height:38,width:38,stroke:"var(--privy-color-error)"})}),/*#__PURE__*/e.jsx(c.Title,{style:{marginTop:"0.5rem"},children:"Something went wrong"}),/*#__PURE__*/e.jsx(y.Grow,{style:{minHeight:"2rem"}}),/*#__PURE__*/e.jsx(n.PrimaryButtonWithoutGray,{onClick:()=>I(null),children:"Try again"}),/*#__PURE__*/e.jsx(l.BlobbyFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:W},"header"),/*#__PURE__*/e.jsx(f.default,{style:{width:"3rem",height:"3rem",alignSelf:"center"}}),/*#__PURE__*/e.jsx(c.Title,{style:{marginTop:"0.5rem"},children:"Automatically secure your account"}),/*#__PURE__*/e.jsx(a.Subtitle,{style:{marginTop:"1rem"},children:"When you log into a new device, you’ll only need to authenticate to access your account. Never get logged out if you forget your password."}),/*#__PURE__*/e.jsx(y.Grow,{style:{minHeight:"2rem"}}),/*#__PURE__*/e.jsx(n.PrimaryButtonWithoutGray,{loading:p,disabled:P,onClick:()=>async function(){w(!0);try{let e=await t.getAccessToken(),o=i.getPrivyWalletWithAddress(r,q);if(!e||!s||!o)return;if(!(await s.setRecovery({accessToken:e,entropyId:q,entropyIdVerifier:x,existingRecoveryMethod:o.recoveryMethod,recoveryMethod:"privy"})).entropyId)throw Error("Unable to set recovery on wallet");let n=await h();if(!n)throw Error("Unable to set recovery on wallet");let l=i.getPrivyWalletWithAddress(n,o.address);if(!l)throw Error("Unabled to set recovery on wallet");b(!!n),setTimeout((()=>{j.data?.setWalletPassword?.onSuccess(l),m()}),u.DEFAULT_SUCCESS_SCREEN_DURATION_MS)}catch(e){I(e)}finally{w(!1)}}(),children:S?"Success":"Confirm"}),/*#__PURE__*/e.jsx(l.BlobbyFooter,{})]})}};exports.SetAutomaticRecoveryScreen=m,exports.default=m;