"use client"; import { useState, useTransition } from "react"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; export function RegisterForm() { const router = useRouter(); const [isPending, startTransition] = useTransition(); const [error, setError] = useState(null); const [formState, setFormState] = useState({ firstName: "", lastName: "", email: "", password: "", confirmPassword: "", }); function handleSubmit(event: React.FormEvent) { event.preventDefault(); setError(null); if (formState.password !== formState.confirmPassword) { setError("تأكيد كلمة السر لازم يكون مطابق."); return; } startTransition(async () => { const response = await fetch("/api/auth/register", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ firstName: formState.firstName, lastName: formState.lastName, email: formState.email, password: formState.password, }), }); const payload = (await response.json().catch(() => null)) as | { message?: string } | null; if (!response.ok) { setError(payload?.message || "تعذر إنشاء الحساب."); return; } router.replace("/dashboard/customers"); router.refresh(); }); } return (

إنشاء حساب جديد

اعمل حسابك في أقل من دقيقة وابدأ تدير عملاءك بسهولة.

setFormState((current) => ({ ...current, firstName: event.target.value, })) } required />
setFormState((current) => ({ ...current, lastName: event.target.value, })) } required />
setFormState((current) => ({ ...current, email: event.target.value })) } required />
setFormState((current) => ({ ...current, password: event.target.value, })) } required />
setFormState((current) => ({ ...current, confirmPassword: event.target.value, })) } required />
{error ? (

{error}

) : null}
); }