@privy-io/react-auth
Version:
React client for the Privy Auth API
2 lines (1 loc) • 2.69 kB
JavaScript
;var e=require("react/jsx-runtime"),r=require("lucide-react"),t=require("react"),i=require("./WalletInfoCard-DKVdH9iF.js"),s=require("./context-DFq1obBO.js"),n=require("./internal-context-NWsAL807.js"),o=require("./get-is-unified-wallet-D4ouXJpi.js"),a=require("./ScreenLayout-BeH-Q6N2.js");require("styled-components"),require("./Button-Bm_Ft0Dw.js"),require("./useActiveWallet-BOX8xCn9.js"),require("zustand"),require("react-device-detect"),require("./prepareFundingModalData-Cnd6rhhJ.js"),require("@privy-io/js-sdk-core"),require("eventemitter3"),require("./events-context-Di6--rDg.js"),require("viem"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-BLFNjTwC.js"),require("./ErrorMessage-f0cRWc29.js"),require("./LabelXs-CYMv6rOZ.js"),require("./Address-5znFAhQw.js"),require("./shared-BPGwTh8c.js"),require("tinycolor2"),require("ofetch"),require("./Screen-D9Tvi297.js"),require("./ModalHeader-DB7Tbjwz.js"),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("./index-CRFXS9pP.js");const c=({appName:t,address:s,success:n,error:o,onAccept:c,onDecline:u,onClose:l})=>n||o?/*#__PURE__*/e.jsx(a.ScreenLayout,{title:o?"Something went wrong":"Success!",subtitle:o?"Please try again.":`You've successfully granted delegated action permissions to ${t}.`,icon:o?r.AlertCircle:r.CheckCircle,iconVariant:o?"error":"success",onBack:l,watermark:!0}):/*#__PURE__*/e.jsx(a.ScreenLayout,{title:"Enable offline access",subtitle:`By confirming, ${t} will be able to use your wallet for you even when you're not around. You can revoke this later.`,icon:r.CloudUpload,primaryCta:{label:"Accept",onClick:c},secondaryCta:{label:"Not now",onClick:u},onBack:l,watermark:!0,children:/*#__PURE__*/e.jsx(i.WalletInfoCard,{address:s,title:"Wallet"})}),u={component:()=>{let{data:r}=o.usePrivyModal(),i=s.useAppConfig(),{closePrivyModal:a}=n.usePrivyInternal(),[u,l]=t.useState(!1),[d,q]=t.useState(),{address:j,onDelegate:C,onSuccess:y,onError:p}=r.delegatedActions.consent,g=async()=>{u?y():p(d??new n.PrivyClientError("User declined delegating actions.")),a({shouldCallAuthOnSuccess:!1})};return t.useEffect((()=>{if(!u&&!d)return;let e=setTimeout(g,s.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS);return()=>clearTimeout(e)}),[u,d]),/*#__PURE__*/e.jsx(c,{appName:i.name,address:j,success:u,error:d,onAccept:async()=>{try{await C(),l(!0)}catch(e){q(e)}},onDecline:()=>{g()},onClose:g})}};exports.DelegatedActionsConsentScreen=u,exports.DelegatedActionsConsentScreenView=c,exports.default=u;