feat: login (#2)

Co-authored-by: Jrodenas <jrodenas@gmail.com>
Reviewed-on: #2
This commit is contained in:
2026-03-23 19:05:56 +00:00
parent cec96b94da
commit 828bf30faf
21 changed files with 3406 additions and 2372 deletions

View File

@@ -1,18 +1,28 @@
import * as z from "zod"
export const loginFormSchema = z.object({
email: z.string().email("Invalid email address"),
password: z.string().min(1, "Password must be at least 1 character long")
email: z.email("Introduce un correo válido"),
password: z.string().min(1, "La contraseña es obligatoria")
})
export const signupFormSchema = z.object({
email: z.string().email("Invalid email address"),
password: z.string().min(6, "Password must be at least 6 characters long"),
name: z.string().min(1, "The field is required"),
location: z.string().min(1, "The field is required"),
email: z.email("Introduce un correo válido"),
password: z.string().min(6, "La contraseña debe tener al menos 6 caracteres"),
name: z.string().min(1, "El nombre es obligatorio"),
location: z.string().min(1, "La ubicación es obligatoria"),
redirectUrl: z.string().optional()
})
// Schema extendido para el formulario cliente (incluye confirmación de contraseña)
export const signupClientFormSchema = signupFormSchema
.extend({
confirmPassword: z.string().min(6, "Confirma tu contraseña")
})
.refine((data) => data.password === data.confirmPassword, {
message: "Las contraseñas no coinciden",
path: ["confirmPassword"]
})
export const profileFormSchema = z.object({
id: z.uuid(),
firstName: z.string().min(1, "First name is required"),