'use client'; import { useState } from 'react'; export default function ProductForm() { const [isPending, setIsPending] = useState(false); const [error, setError] = useState(null); return (
{ e.preventDefault(); setError(null); const form = e.currentTarget; const name = String((new FormData(form)).get('name') || '').trim(); setIsPending(true); try { const res = await fetch('/api/admin/create-product', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name }), }); if (!res.ok) { const data = await res.json().catch(() => ({})); throw new Error(data?.error || 'Kunde inte skapa produkt'); } form.reset(); window.dispatchEvent(new CustomEvent('product-created')); } catch (err) { setError(err instanceof Error ? err.message : 'Okänt fel'); } finally { setIsPending(false); } }} style={{ display: 'grid', gap: '0.75rem', padding: '1rem', border: '1px solid #ddd', borderRadius: '8px', marginBottom: '1.5rem', }} >

Skapa produkt

{error ?

{error}

: null}
); }