'use client'; import { useForm, SubmitHandler, FormProvider } from 'react-hook-form'; import { useFetch } from '@gitroom/helpers/utils/custom.fetch'; import Link from 'next/link'; import { Button } from '@gitroom/react/form/button'; import { Input } from '@gitroom/react/form/input'; import { useMemo, useState } from 'react'; import { classValidatorResolver } from '@hookform/resolvers/class-validator'; import { LoginUserDto } from '@gitroom/nestjs-libraries/dtos/auth/login.user.dto'; type Inputs = { email: string; password: string; providerToken: ''; provider: 'LOCAL'; }; export function Login() { const [loading, setLoading] = useState(false); const resolver = useMemo(() => { return classValidatorResolver(LoginUserDto); }, []); const form = useForm({ resolver, defaultValues: { providerToken: '', provider: 'LOCAL', }, }); const fetchData = useFetch(); const onSubmit: SubmitHandler = async (data) => { setLoading(true); const login = await fetchData('/auth/login', { method: 'POST', body: JSON.stringify({ ...data, provider: 'LOCAL' }), }); if (login.status === 400) { form.setError('email', { message: 'Invalid email or password', }); setLoading(false); } }; return (

Create An Account

Don{"'"}t Have An Account?{' '} {' '} Sign Up

Forgot password

); }