"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { ArrowLeft } from "lucide-react"; import Link from "next/link"; import * as React from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { useAuth } from "@/providers/auth-provider"; const loginSchema = z.object({ email: z.string().email({ message: "Email invalide" }), password: z .string() .min(6, { message: "Le mot de passe doit faire au moins 6 caractères" }), }); type LoginFormValues = z.infer; export default function LoginPage() { const { login } = useAuth(); const [loading, setLoading] = React.useState(false); const form = useForm({ resolver: zodResolver(loginSchema), defaultValues: { email: "", password: "", }, }); async function onSubmit(values: LoginFormValues) { setLoading(true); try { await login(values.email, values.password); } catch (_error) { // Error is handled in useAuth via toast } finally { setLoading(false); } } return (
Retour à l'accueil Connexion Entrez vos identifiants pour accéder à votre compte MemeGoat.
( Email )} /> ( Mot de passe )} />

Vous n'avez pas de compte ?{" "} S'inscrire

); }