"use client"; import { useState, useTransition } from "react"; import { useRouter } from "next/navigation"; import { updateProfileAction } from "../actions"; type Props = { initial: { firstName: string; lastName: string; phone: string | null }; }; export function ProfileForm({ initial }: Props) { const router = useRouter(); const [pending, startTransition] = useTransition(); const [error, setError] = useState(null); const [success, setSuccess] = useState(null); function onSubmit(fd: FormData) { setError(null); setSuccess(null); startTransition(async () => { const res = await updateProfileAction(fd); if (res && res.ok === false) setError(res.error); else { setSuccess("Profil enregistré."); router.refresh(); } }); } const inputCls = "mt-0.5 w-full rounded-md border border-zinc-300 px-3 py-2 text-sm focus:border-zinc-900 focus:outline-none"; return (
{error ? (
{error}
) : null} {success ? (
{success}
) : null}
); }