Lock the e-mail on input if the code has an e-mail associated
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable @next/next/no-img-element */
|
||||
import {ToastContainer} from "react-toastify";
|
||||
import {useState} from "react";
|
||||
import {useEffect, useState} from "react";
|
||||
import Head from "next/head";
|
||||
import useUser from "@/hooks/useUser";
|
||||
import Link from "next/link";
|
||||
@@ -11,6 +11,7 @@ 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;
|
||||
@@ -21,8 +22,17 @@ export const getServerSideProps = (context: any) => {
|
||||
};
|
||||
|
||||
export default function Register({code: queryCode}: {code: string}) {
|
||||
const [defaultEmail, setDefaultEmail] = useState<string>();
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (queryCode) {
|
||||
(async () => {
|
||||
axios.get<{email?: string}>(`/api/code/${queryCode}`).then((result) => setDefaultEmail(result.data.email));
|
||||
})();
|
||||
}
|
||||
}, [queryCode]);
|
||||
|
||||
const {user, mutateUser} = useUser({
|
||||
redirectTo: "/",
|
||||
redirectIfFound: true,
|
||||
@@ -79,11 +89,13 @@ export default function Register({code: queryCode}: {code: string}) {
|
||||
<Tab.Panels>
|
||||
<Tab.Panel>
|
||||
<RegisterIndividual
|
||||
key={defaultEmail || "individual"}
|
||||
isLoading={isLoading}
|
||||
setIsLoading={setIsLoading}
|
||||
mutateUser={mutateUser}
|
||||
sendEmailVerification={sendEmailVerification}
|
||||
queryCode={queryCode}
|
||||
defaultEmail={defaultEmail}
|
||||
/>
|
||||
</Tab.Panel>
|
||||
<Tab.Panel>
|
||||
|
||||
Reference in New Issue
Block a user