import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/components/ui/form'; import { useLogin } from '@/modules/auth/hooks/use-auth-hook'; import { zUserLoginDto } from '@/sdk/zod.gen'; import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import type { z } from 'zod'; import { Link } from '@tanstack/react-router'; import { Route as SignupRoute } from '@/routes/auth/signup'; import { Route as ForgotPasswordRoute } from '@/routes/auth/forgot-password'; import { loginFormDefaults } from '@/modules/auth/schemas/form-schemas'; type LoginFormData = z.infer; export function LoginForm() { const { t } = useTranslation(); const { mutate, isPending } = useLogin(); const form = useForm({ resolver: zodResolver(zUserLoginDto), defaultValues: loginFormDefaults, }); const onSubmit = (data: LoginFormData) => { mutate({ body: data }); }; return (

{t('auth.login.title')}

( {t('auth.login.email')} * )} /> ( {t('auth.login.password')} * )} />
{t('auth.login.forgotPasswordLink')} {t('auth.login.signupLink')}
); }