import { Container, FormTextField } from "@/components"; import { UeckoLogo } from "@/components/UeckoLogo/UeckoLogo"; import { useLogin } from "@/lib/hooks"; import { Alert, AlertDescription, AlertTitle, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Form, } from "@/ui"; import { joiResolver } from "@hookform/resolvers/joi"; import Joi from "joi"; import { AlertCircleIcon } from "lucide-react"; import { useState } from "react"; import { SubmitHandler, useForm } from "react-hook-form"; import { Link } from "react-router-dom"; import SpanishJoiMessages from "../spanish-joi-messages.json"; type LoginDataForm = { email: string; password: string; }; export const LoginPage = () => { const [loading, setLoading] = useState(false); const { mutate: login } = useLogin({ onSuccess: (data) => { const { success, error } = data; if (!success && error) { form.setError("root", error); } }, }); const form = useForm({ mode: "onBlur", defaultValues: { email: "", password: "", }, resolver: joiResolver( Joi.object({ email: Joi.string() .email({ tlds: { allow: false } }) .required(), password: Joi.string().min(4).alphanum().required(), }), { messages: SpanishJoiMessages, } ), }); const onSubmit: SubmitHandler = async (data) => { console.log(data); try { setLoading(true); login({ email: data.email, password: data.password }); } finally { setLoading(false); } }; return (
Presupuestador para distribuidores Enter your email below to login to your account
¿Has olvidado tu contraseña?
Contacta con nosotros
{form.formState.errors.root?.message && ( Heads up! {form.formState.errors.root?.message} )}
¿Quieres ser distribuidor de Uecko?
Contacta con nosotros
Image
); };