"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { signIn, authClient } from "@/lib/auth-client"; export function LoginForm() { const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setError(""); setLoading(true); const result = await signIn.email({ email, password }); if (result.error) { setError("Неверный email или пароль"); setLoading(false); return; } const session = await authClient.getSession(); const role = session.data?.user?.role; if (role === "admin") { router.push("/admin/dashboard"); } else if (role === "curator") { router.push("/curator/dashboard"); } else { router.push("/dashboard"); } router.refresh(); } return (
setEmail(e.target.value)} required className="w-full px-3 py-2 text-sm bg-transparent" style={{ border: "2px solid var(--border)", color: "var(--foreground)", fontFamily: "var(--font-sans)", outline: "none", }} onFocus={(e) => (e.target.style.borderColor = "var(--foreground)")} onBlur={(e) => (e.target.style.borderColor = "var(--border)")} placeholder="you@example.com" />
setPassword(e.target.value)} required className="w-full px-3 py-2 text-sm bg-transparent" style={{ border: "2px solid var(--border)", color: "var(--foreground)", fontFamily: "var(--font-sans)", outline: "none", }} onFocus={(e) => (e.target.style.borderColor = "var(--foreground)")} onBlur={(e) => (e.target.style.borderColor = "var(--border)")} placeholder="••••••••" />
{error && (

{error}

)}
Забыли пароль? Зарегистрироваться
); }