'use client'; import { useState } from 'react'; interface Props { initialData?: { name: string; description: string }; onSubmit: (data: { name: string; description: string }) => void | Promise; onCancel: () => void; } export function ProductForm({ initialData, onSubmit, onCancel }: Props) { const [name, setName] = useState(initialData?.name || ''); const [description, setDescription] = useState(initialData?.description || ''); const [submitting, setSubmitting] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!name.trim() || submitting) return; setSubmitting(true); try { await onSubmit({ name: name.trim(), description: description.trim() }); } finally { setSubmitting(false); } }; return (
setName(e.target.value)} placeholder="输入产品名称" className="h-9 w-full rounded-lg border border-[var(--line)] bg-[var(--bg-card)] px-3 text-[13px] text-[var(--ink)] placeholder:text-[var(--ink-muted)] focus:border-[var(--accent)] focus:outline-none focus:ring-2 focus:ring-[var(--accent-ring)]" />