import { signIn } from 'next-auth/react' import styles from './login.module.css' import { Form, Input, SubmitButton } from '@/components/form' import { useState } from 'react' import Alert from 'react-bootstrap/Alert' import { useRouter } from 'next/router' import { LightningAuthWithExplainer } from './lightning-auth' import { NostrAuthWithExplainer } from './nostr-auth' import LoginButton from './login-button' import { emailSchema } from '@/lib/validate' import { OverlayTrigger, Tooltip } from 'react-bootstrap' export function EmailLoginForm ({ text, callbackUrl, multiAuth }) { const disabled = multiAuth return (
) } const authErrorMessages = { OAuthSignin: 'Error constructing OAuth URL. Try again or choose a different method.', OAuthCallback: 'Error handling OAuth response. Try again or choose a different method.', OAuthCreateAccount: 'Could not create OAuth account. Try again or choose a different method.', EmailCreateAccount: 'Could not create Email account. Try again or choose a different method.', Callback: 'Try again or choose a different method.', OAuthAccountNotLinked: 'This auth method is linked to another account. To link to this account first unlink the other account.', EmailSignin: 'Failed to send email. Make sure you entered your email address correctly.', CredentialsSignin: 'Auth failed. Try again or choose a different method.', default: 'Auth failed. Try again or choose a different method.' } export function authErrorMessage (error) { return error && (authErrorMessages[error] ?? authErrorMessages.default) } export default function Login ({ providers, callbackUrl, multiAuth, error, text, Header, Footer }) { const [errorMessage, setErrorMessage] = useState(authErrorMessage(error)) const router = useRouter() if (router.query.type === 'lightning') { return