// Caminho: app/login/page.tsx "use client"; import { usersService } from "@/services/usersApi.mjs"; import { LoginForm } from "@/components/LoginForm"; import Link from "next/link"; import Image from "next/image"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { ArrowLeft, X } from "lucide-react"; import { useState } from "react"; import RenderFromTemplateContext from "next/dist/client/components/render-from-template-context"; export default function LoginPage() { const [isModalOpen, setIsModalOpen] = useState(false); const [email, setEmail] = useState(""); const [isLoading, setIsLoading] = useState(false); const [message, setMessage] = useState<{ type: "success" | "error"; text: string; } | null>(null); const handleOpenModal = () => { // Tenta pegar o email do input do formulário de login const emailInput = document.querySelector( 'input[type="email"]' ) as HTMLInputElement; if (emailInput?.value) { setEmail(emailInput.value); } setIsModalOpen(true); }; const handleResetPassword = async () => { if (!email.trim()) { setMessage({ type: "error", text: "Por favor, insira um e-mail válido.", }); return; } setIsLoading(true); setMessage(null); try { // Chama o método que já faz o fetch corretamente const data = await usersService.resetPassword(email); console.log("Resposta resetPassword:", data); setMessage({ type: "success", text: "E-mail de recuperação enviado! Verifique sua caixa de entrada.", }); setTimeout(() => { setIsModalOpen(false); setMessage(null); setEmail(""); }, 2000); } catch (error) { console.error("Erro no reset de senha:", error); setMessage({ type: "error", text: error instanceof Error ? error.message : "Erro ao enviar e-mail. Tente novamente.", }); } finally { setIsLoading(false); } }; const closeModal = () => { setIsModalOpen(false); setMessage(null); setEmail(""); }; return ( <>
MedConnect
Bem-vindo(a) de volta ao MedConnect!
Acesse seu portal para uma experiência de saúde integrada, segura e eficiente.
Insira seu e-mail e enviaremos um link para redefinir sua senha.