import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { toast } from "sonner"; import { trpc } from "@/lib/trpc"; import { Link } from "wouter"; import { ArrowLeft, Loader2 } from "lucide-react"; import { APP_LOGO, APP_TITLE } from "@/const"; export default function ForgotPassword() { const [email, setEmail] = useState(""); const [submitted, setSubmitted] = useState(false); const requestResetMutation = trpc.auth.requestPasswordReset.useMutation({ onSuccess: () => { setSubmitted(true); toast.success("Email envoyé", { description: "Un lien de réinitialisation a été envoyé à votre adresse email.", }); }, onError: (error) => { toast.error("Erreur", { description: error.message, }); }, }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!email) { toast.error("Veuillez saisir votre adresse email"); return; } requestResetMutation.mutate({ email }); }; if (submitted) { return (
{APP_LOGO && (
Logo
)} Email envoyé Un lien de réinitialisation a été envoyé à {email}. Vérifiez votre boîte de réception et suivez les instructions.
); } return (
{APP_LOGO && (
Logo
)} Mot de passe oublié Saisissez votre adresse email pour recevoir un lien de réinitialisation
setEmail(e.target.value)} required />
); }