diff --git a/frontend/pages/register/index.js b/frontend/pages/register/index.js new file mode 100644 index 00000000..5c539fb3 --- /dev/null +++ b/frontend/pages/register/index.js @@ -0,0 +1,133 @@ +import React, { useState } from "react"; +import { useForm } from "react-hook-form"; +import { + Heading, + Text, + Stack, + Box, + FormControl, + FormErrorMessage, + InputGroup, + Button, + Input, + InputRightElement, +} from "@chakra-ui/react"; +import Icon from "../../src/components/CustomIcon"; +import useSignUp from "../../src/core/hooks/useSignUp"; +import useUser from "../../src/core/hooks/useSignUp"; +import useRouter from "../../src/core/hooks/useSignUp"; +import { DEFAULT_METATAGS } from "../../src/components/constants"; + +export async function getStaticProps() { + return { + props: { metaTags: { ...DEFAULT_METATAGS } }, + }; +} + +const Register = () => { + const router = useRouter(); + const { handleSubmit, errors, register } = useForm(); + const [showPassword, togglePassword] = useState(false); + + const { user } = useUser(); + const loggedIn = user && user.username; + + // const { email, code } = router.query; + const email = router.query?.email; + const code = router.query?.code; + const { signUp, isLoading } = useSignUp(code); + + loggedIn && router.push("/stream"); + + return ( + + + Create an account + + + Sign up for free + +
+ + + + + + + + + + {errors.username && errors.username.message} + + + + + {!email && ( + + )} + {email && ( + + )} + + + + + + {errors.email && errors.email.message} + + + + + + togglePassword(!showPassword)}> + + + + + {errors.password && errors.password.message} + + + + +
+
+ ); +}; +export default Register;