diff --git a/apps/web/src/components/forms/password.tsx b/apps/web/src/components/forms/password.tsx index eba0c9a43..4689e0dbe 100644 --- a/apps/web/src/components/forms/password.tsx +++ b/apps/web/src/components/forms/password.tsx @@ -1,7 +1,9 @@ 'use client'; +import { useState } from 'react'; + import { zodResolver } from '@hookform/resolvers/zod'; -import { Loader } from 'lucide-react'; +import { Eye, EyeOff, Loader } from 'lucide-react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; @@ -35,6 +37,8 @@ export type PasswordFormProps = { export const PasswordForm = ({ className }: PasswordFormProps) => { const { toast } = useToast(); + const [showPassword, setShowPassword] = useState(false); + const [showConfirmPassword, setShowConfirmPassword] = useState(false); const { register, @@ -79,6 +83,14 @@ export const PasswordForm = ({ className }: PasswordFormProps) => { } }; + const onShowPassword = () => { + setShowPassword(!showPassword); + }; + + const onShowConfirmPassword = () => { + setShowConfirmPassword(!showConfirmPassword); + }; + return (
{ Password - +
+ + + +
@@ -104,12 +132,28 @@ export const PasswordForm = ({ className }: PasswordFormProps) => { Repeat Password - +
+ + + +
diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index ae9540869..2f3c3a4d6 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -1,7 +1,9 @@ 'use client'; +import { useState } from 'react'; + import { zodResolver } from '@hookform/resolvers/zod'; -import { Loader } from 'lucide-react'; +import { Eye, EyeOff, Loader } from 'lucide-react'; import { signIn } from 'next-auth/react'; import { useForm } from 'react-hook-form'; import { FcGoogle } from 'react-icons/fc'; @@ -26,6 +28,7 @@ export type SignInFormProps = { export const SignInForm = ({ className }: SignInFormProps) => { const { toast } = useToast(); + const [showPassword, setShowPassword] = useState(false); const { register, @@ -73,6 +76,10 @@ export const SignInForm = ({ className }: SignInFormProps) => { } }; + const onShowPassword = () => { + setShowPassword(!showPassword); + }; + return ( { Password - +
+ + + +
{errors.password && ( {errors.password.message} diff --git a/apps/web/src/components/forms/signup.tsx b/apps/web/src/components/forms/signup.tsx index ce449f850..a66e43caf 100644 --- a/apps/web/src/components/forms/signup.tsx +++ b/apps/web/src/components/forms/signup.tsx @@ -1,7 +1,9 @@ 'use client'; +import { useState } from 'react'; + import { zodResolver } from '@hookform/resolvers/zod'; -import { Loader } from 'lucide-react'; +import { Eye, EyeOff, Loader } from 'lucide-react'; import { signIn } from 'next-auth/react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; @@ -29,6 +31,7 @@ export type SignUpFormProps = { export const SignUpForm = ({ className }: SignUpFormProps) => { const { toast } = useToast(); + const [showPassword, setShowPassword] = useState(false); const { register, @@ -72,6 +75,10 @@ export const SignUpForm = ({ className }: SignUpFormProps) => { } }; + const onShowPassword = () => { + setShowPassword(!showPassword); + }; + return ( { Password - +
+ + + +