import axios from "axios"; import clsx from "clsx"; import { useRouter } from "next/router"; import * as React from "react"; import { useForm } from "react-hook-form"; import { validEmail } from "utils/form-validation"; import Button from "@/components/button"; import Magic from "@/components/icons/magic.svg"; const LoginForm: React.VoidFunctionComponent = () => { const { register, formState, handleSubmit, getValues } = useForm<{ email: string }>(); const router = useRouter(); return (
Login via magic link
{!formState.isSubmitSuccessful ? (
{ await axios.post("/api/login", { email, path: router.asPath }); })} >
We'll send you an email with a magic link that you can use to login.
{formState.errors.email ? (
Please enter a valid email address
) : null}
) : (
A magic link has been sent to:
{getValues("email")}
Please check you inbox.
)}
); }; export default LoginForm;