'use client'; import { useState, useTransition } from 'react'; import { updateInventoryItem } from './actions'; import type { InventoryItem } from '../../features/inventory/types'; type Props = { item: InventoryItem; }; function toDateInputValue(value: string | null) { if (!value) return ''; return value.slice(0, 10); } export default function InventoryEditForm({ item }: Props) { const [isEditing, setIsEditing] = useState(false); const [isPending, startTransition] = useTransition(); const [error, setError] = useState(null); if (!isEditing) { return ( ); } return (
{ e.preventDefault(); setError(null); const form = e.currentTarget; const formData = new FormData(form); startTransition(async () => { try { await updateInventoryItem(formData); setIsEditing(false); } catch (err) { setError(err instanceof Error ? err.message : 'Okänt fel'); } }); }} style={{ display: 'grid', gap: '0.75rem', border: '1px solid #eee', borderRadius: '8px', padding: '0.75rem', background: '#fafafa', }} >
{error ?

{error}

: null}
); }