// app/add-item/page.js 'use client'; import { useState, useTransition } from 'react'; import { createItem } from './actions'; // Server Action import { useRouter } from 'next/navigation'; export default function AddItemPage() { const router = useRouter(); const [isPending, startTransition] = useTransition(); const [error, setError] = useState(null); const [successMessage, setSuccessMessage] = useState(''); const handleSubmit = async (event) => { event.preventDefault(); setError(null); setSuccessMessage(''); const formData = new FormData(event.currentTarget); startTransition(async () => { const result = await createItem(formData); if (result.error) { setError(result.error); } else if (result.success) { setSuccessMessage(result.message); // Optionally clear the form or redirect event.target.reset(); // Clear form fields // router.push('/'); // Or redirect to homepage after a delay setTimeout(() => router.push('/'), 1500); // Redirect after 1.5s } }); }; return (
Fill in the details below to add a new item to your collection.
Error:
{error}
Success:
{successMessage}