"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { login } from "@/lib/api"; import { useAuth } from "@/lib/auth"; import { useTranslation } from "@/lib/i18n"; export default function LoginPage() { const [email, setEmail] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const { setAuth } = useAuth(); const { t } = useTranslation(); const router = useRouter(); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!email.trim()) { setError(t("auth.email")); return; } setLoading(true); setError(""); try { const result = await login({ email: email.trim() }); setAuth(result.data.token, result.data.user); router.push("/tasks"); } catch (err) { setError(err instanceof Error ? err.message : t("common.error")); } finally { setLoading(false); } } return (

{t("auth.login")}

{error && (
{error}
)}
setEmail(e.target.value)} className="w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 focus:ring-2 focus:ring-blue-500 focus:border-transparent outline-none" placeholder="vas@email.cz" autoFocus autoComplete="email" />

{t("auth.noAccount")}{" "} {t("auth.registerBtn")}

); }