'use client'; import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { productSchema, type ProductFormValues } from '@/lib/validators/products'; import type { ItemTipo } from '@/lib/api/products'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { FormField } from '@/components/ui/form-field'; import { Input } from '@/components/ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Textarea } from '@/components/ui/textarea'; interface ProductFormProps { defaultValues: ProductFormValues; onSubmit: (values: ProductFormValues) => void; onCancel: () => void; submitting: boolean; submitLabel: string; } /** Campos de produto/serviço, compartilhado entre `/app/produtos/novo` e `/app/produtos/:id` (Etapa 16). */ export function ProductForm({ defaultValues, onSubmit, onCancel, submitting, submitLabel }: ProductFormProps) { const form = useForm({ resolver: zodResolver(productSchema), defaultValues }); return (
Dados do item