import React from "react"; import { toast } from "sonner"; import { Button } from "../ui/button"; import { Input } from "../ui/input"; import { Label } from "../ui/label"; import { login } from "../../services/accountService"; import { useAuth } from "./AuthProvider"; export function LoginView() { const auth = useAuth(); const [email, setEmail] = React.useState(""); const [password, setPassword] = React.useState(""); const [submitting, setSubmitting] = React.useState(false); const canSubmit = Boolean(email.trim() && password.trim() && !submitting); const submit = async () => { if (!canSubmit) return; const emailText = email.trim(); setSubmitting(true); try { // Backend keeps `userName` field for compatibility; value must be an email. await login({ userName: emailText, password: password.trim() }); await auth.refresh(); toast.success("Signed in"); } catch (e: any) { toast.error("Sign-in failed", { description: e?.message ? String(e.message) : "Please check your email/password and try again.", }); } finally { setSubmitting(false); } }; return (