import { gql, useMutation, useQuery } from '@apollo/client' import { signIn } from 'next-auth/client' import { useEffect } from 'react' import LnQR, { LnQRSkeleton } from './lnqr' function LnQRAuth ({ k1, encodedUrl, callbackUrl }) { const query = gql` { lnAuth(k1: "${k1}") { pubkey k1 } }` const { data } = useQuery(query, { pollInterval: 1000 }) if (data && data.lnAuth.pubkey) { signIn('credentials', { ...data.lnAuth, callbackUrl }) } // output pubkey and k1 return ( <> Does my wallet support lnurl-auth? ) } export function LightningAuth ({ callbackUrl }) { // query for challenge const [createAuth, { data, error }] = useMutation(gql` mutation createAuth { createAuth { k1 encodedUrl } }`) useEffect(createAuth, []) if (error) return
error
if (!data) { return } return }