+ |
+ handleFieldChange("name", val)}
+ required
+ />
+ |
+
+ handleFieldChange("description", val)}
+ />
+ |
+
+ handleFieldChange("category", val)}
+ />
+ |
+
+ handleFieldChange("unit_price", val)}
+ />
+ |
+
+ {
+ router.refresh();
+ onTagsChanged?.();
+ }}
+ />
+ |
+
+ handleFieldChange("active", val === "attivo" ? !service.active : service.active)}
+ />
+ |
+
+ );
+}
+```
+
+**ServiceTable component** (with quick-add row):
+```typescript
+export function ServiceTable({ services }: { services: ServiceWithTags[] }) {
+ const [newName, setNewName] = useState("");
+ const [, startTransition] = useTransition();
+ const router = useRouter();
+
+ const activeServices = services.filter((s) => s.active);
+ const inactiveServices = services.filter((s) => !s.active);
+
+ function handleQuickAdd(e: React.KeyboardEvent