UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 898 B
import{useCallback as t}from"react";import{F as i}from"./frame-Dj70FEYB.mjs";import{aa as e,P as a}from"./internal-context-eGSwROSk.mjs";import"ofetch";const r=()=>{let{client:r,setAuthenticated:n,setUser:s}=e();return{initLoginToMiniApp:t((async()=>{let t=new i;if(!r)throw new a("Must initialize Privy client first.");return r.startAuthFlow(t),await t.init()}),[r]),loginToMiniApp:t((async({message:t,signature:e})=>{if(!r)throw new a("Must initialize Privy client first.");if(!(r.authFlow instanceof i))throw new a("Must initialize Farcaster Mini App flow first.");let o=(t=>{let i=t.match(/farcaster:\/\/fid\/(\d+)/);return i&&i[1]?parseInt(i[1],10):null})(t);if(!o)throw new a("Invalid message format; could not parse Farcaster ID.");r.authFlow.setAuthData({message:t,signature:e,fid:o});let{user:l}=await r.authenticate();return l&&(s(l),n(!0)),l}),[r,s,n])}};export{r as useLoginToMiniApp};