UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 2.38 kB
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/PhoneIcon"),i=require("react"),t=require("./ConnectPhoneForm-BPgbe0j3.js"),n=require("./context-D-ZJYjUg.js"),o=require("./internal-context-BJv4f_bO.js"),u=require("./get-is-unified-wallet-UpdjHxOV.js"),a=require("./ScreenLayout-CMb-Fua0.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@privy-io/js-sdk-core"),require("./useActiveWallet-Cn6zOXx5.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-B5ujV5Nk.js"),require("eventemitter3"),require("viem/utils"),require("./useWallets-CKAypPZB.js"),require("./events-context-Di6--rDg.js"),require("viem"),require("./getPublicClient-BsmZyCGX.js"),require("./ModalHeader-BCPQgekO.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("./Chip-C6r7fZiR.js"),require("./LoadingSkeleton-BoyADunQ.js"),require("tinycolor2"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("./Screen-BfKedqka.js"),require("./index-ByFhjjzH.js");var c=/*#__PURE__*/s(r);const l=({title:r="Connect your phone",subtitle:n="Add your number to your account",onSubmit:o,isSubmitting:u=!1})=>{let[s,l]=i.useState(null),d=async()=>{s?.qualifiedPhoneNumber&&await o(s)};/*#__PURE__*/return e.jsx(a.ScreenLayout,{title:r,subtitle:n,icon:c.default,primaryCta:{label:u?"Submitting":"Submit",onClick:d,disabled:!s?.isValid||u},watermark:!0,children:/*#__PURE__*/e.jsx(t.ConnectPhoneNumberForm,{onChange:e=>{l(e)},onSubmit:d,noIncludeSubmitButton:!0,hideRecent:!0})})},d={component:()=>{let{currentScreen:r,data:t,navigate:a,setModalData:s}=u.usePrivyModal(),c=n.useAppConfig(),{initLoginWithSms:d}=o.usePrivyInternal(),[q,m]=i.useState(!1);/*#__PURE__*/return e.jsx(l,{subtitle:`Add your number to your ${c?.name} account`,onSubmit:async e=>{m(!0);try{await d({phoneNumber:e.qualifiedPhoneNumber,withPrivyUi:!0}),a("AwaitingPasswordlessCodeScreen")}catch(e){s({errorModalData:{error:e,previousScreen:t?.errorModalData?.previousScreen||r||"LinkPhoneScreen"}}),a("ErrorScreen")}finally{m(!1)}},isSubmitting:q})}};exports.LinkPhoneScreen=d,exports.LinkPhoneScreenView=l,exports.default=d;