/* eslint-disable @next/next/no-img-element */ import {ToastContainer} from "react-toastify"; import {useEffect, useState} from "react"; import Head from "next/head"; import useUser from "@/hooks/useUser"; import Link from "next/link"; import clsx from "clsx"; import {Tab} from "@headlessui/react"; import RegisterIndividual from "./(register)/RegisterIndividual"; import RegisterCorporate from "./(register)/RegisterCorporate"; import EmailVerification from "./(auth)/EmailVerification"; import {sendEmailVerification} from "@/utils/email"; import useUsers from "@/hooks/useUsers"; import axios from "axios"; export const getServerSideProps = (context: any) => { const {code} = context.query; return { props: {code: code || null}, }; }; export default function Register({code: queryCode}: {code: string}) { const [defaultEmail, setDefaultEmail] = useState(); const [defaultName, setDefaultName] = useState(); const [passport_id, setPassportID] = useState(); const [isLoading, setIsLoading] = useState(false); useEffect(() => { if (queryCode) { (async () => { axios.get<{email?: string; name?: string; passport_id?: string}>(`/api/code/${queryCode}`).then((result) => { setDefaultEmail(result.data.email); setDefaultName(result.data.name); setPassportID(result.data.passport_id); }); })(); } }, [queryCode]); const {user, mutateUser} = useUser({ redirectTo: "/", redirectIfFound: true, }); return ( <> Register | EnCoach
People smiling looking at a tablet
EnCoach's Logo

Create new account

{!user && ( <>
clsx( "w-full rounded-lg py-2.5 text-sm font-medium leading-5 text-mti-purple-light", "ring-white ring-opacity-60 ring-offset-2 ring-offset-mti-purple-light focus:outline-none focus:ring-2", "transition duration-300 ease-in-out", selected ? "bg-white shadow" : "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark", ) }> Individual clsx( "w-full rounded-lg py-2.5 text-sm font-medium leading-5 text-mti-purple-light", "ring-white ring-opacity-60 ring-offset-2 ring-offset-mti-purple-light focus:outline-none focus:ring-2", "transition duration-300 ease-in-out", selected ? "bg-white shadow" : "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark", ) }> Corporate
Sign in instead )} {user && !user.isVerified && }
); }