diff --git a/app/(main)/register/Register.tsx b/app/(main)/register/Register.tsx index 72eece9d..44e0f646 100644 --- a/app/(main)/register/Register.tsx +++ b/app/(main)/register/Register.tsx @@ -20,12 +20,11 @@ import { useRouter } from 'next/navigation'; import { z } from 'zod'; import { zodResolver } from '@hookform/resolvers/zod'; import Alert from '@/components/AlertNotification/AlertNotification'; -import { Label } from '@/components/Label/Label'; import LinkCustom from '@/components/LinkCustom/LinkCustom'; import Logo from '@/components/Logo/Logo'; import logo from '/public/assets/logo-colored-outline.svg'; -import React, { JSX, useEffect } from 'react'; - +import React, { JSX, useEffect, useState } from 'react'; +import LoadingSpinner from '@/components/LoadingSpinner/LoadingSpinner'; const RegisterUserSchema = z .object({ @@ -36,11 +35,11 @@ const RegisterUserSchema = z password: z .string() .min(1, { message: 'Please enter a password' }) - .min(6, { message: 'Password must be at least 6 characters' }), + .min(8, { message: 'Password must be at least 8 characters' }), confirmPassword: z .string() .min(1, { message: 'Please confirm your password' }) - .min(6, { message: 'Password must be at least 6 characters' }), + .min(8, { message: 'Password must be at least 8 characters' }), }) .refine((data) => data.password === data.confirmPassword, { message: "Passwords don't match", @@ -56,6 +55,7 @@ type RegisterUserSchemaType = z.infer; const Register = (): JSX.Element => { const router = useRouter(); const { login, isSignedIn } = useAuthContext(); + const [isLoading, setIsLoading] = useState(false); useEffect(() => { if (isSignedIn) { @@ -107,6 +107,7 @@ const Register = (): JSX.Element => { data: RegisterUserSchemaType, ): Promise => { try { + setIsLoading(true); await registerAccount(data); await login(data); toast.custom( @@ -120,6 +121,8 @@ const Register = (): JSX.Element => { toast.custom( , ); + } finally { + setIsLoading(false); } }; @@ -140,7 +143,6 @@ const Register = (): JSX.Element => {

Jimmy Fallon

-

@@ -150,108 +152,97 @@ const Register = (): JSX.Element => { If you have an existing account{' '} Login!

-

+
+
+ > } name="email" render={({ field }) => ( - + - {form.formState.errors.email && ( + {form.formState.errors?.email && ( - {form.formState.errors.email.message} + {form.formState.errors?.email.message} )} )} - /> + /> } name="password" render={({ field }) => ( - + - {form.formState.errors.password && ( + {form.formState.errors?.password && ( - {form.formState.errors.password.message} + {form.formState.errors?.password.message} )} )} - /> + /> } name="confirmPassword" render={({ field }) => ( - + - {form.formState.errors.confirmPassword && ( + {form.formState.errors?.confirmPassword && ( - {form.formState.errors.confirmPassword.message} + {form.formState.errors?.confirmPassword.message} )} )} /> +