"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { useAuth } from "@/hooks/useAuth"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { AuthenticationError } from "@/lib/auth"; export default function LoginAdminPage() { const [credentials, setCredentials] = useState({ email: "", password: "" }); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const router = useRouter(); const { login } = useAuth(); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(""); try { // Tentar fazer login usando o contexto com tipo administrador const success = await login( credentials.email, credentials.password, "administrador", ); if (success) { console.log("[LOGIN-ADMIN] Login bem-sucedido, redirecionando..."); // Redirecionamento direto - solução que funcionou window.location.href = "/dashboard"; } } catch (error_) { console.error("[LOGIN-ADMIN] Erro no login:", error_); if (error_ instanceof AuthenticationError) { setError(error_.message); } else { setError("Erro inesperado. Tente novamente."); } } finally { setLoading(false); } }; return (

Login Administrador de Clínica

Entre com suas credenciais para acessar o sistema administrativo

Acesso Administrativo
setCredentials({ ...credentials, email: e.target.value }) } required className="mt-1" disabled={loading} />
setCredentials({ ...credentials, password: e.target.value }) } required className="mt-1" disabled={loading} />
{error && ( {error} )}
); }