"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { register } from "@/lib/api"; import { useAuth } from "@/lib/auth"; export default function RegisterPage() { const [email, setEmail] = useState(""); const [name, setName] = useState(""); const [phone, setPhone] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const { setAuth } = useAuth(); const router = useRouter(); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!email.trim() || !name.trim()) { setError("Email a jmeno jsou povinne"); return; } setLoading(true); setError(""); try { const result = await register({ email: email.trim(), name: name.trim(), phone: phone.trim() || undefined, }); setAuth(result.token, result.user); router.push("/tasks"); } catch (err) { setError(err instanceof Error ? err.message : "Chyba registrace"); } finally { setLoading(false); } } return (

Registrace

{error && (
{error}
)}
setName(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="Vase jmeno" autoFocus />
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" autoComplete="email" />
setPhone(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="+420 123 456 789" />

Jiz mate ucet?{" "} Prihlasit se

); }