import React, { useState } from "react"; import { Dialog } from "@headlessui/react"; import { useClientes } from "../../hooks/useClientes"; import { FormSelect, FormInput } from "../forms"; import { useForm } from "react-hook-form"; interface ParteProcessoModalProps { isOpen: boolean; onClose: () => void; onSave: (data: any) => void; tipo: "AUTOR" | "REU"; editingParte?: any; } export const ParteProcessoModal: React.FC = ({ isOpen, onClose, onSave, tipo, editingParte, }) => { const { register, handleSubmit, setValue, watch } = useForm({ defaultValues: editingParte || { tipo, // Já estava aqui, mas precisamos garantir que está sendo enviado principal: false, }, }); const { clientes } = useClientes(); const [useExistingClient, setUseExistingClient] = useState( !!editingParte?.clienteId, ); const [searchTerm, setSearchTerm] = useState(""); const filteredClientes = clientes.filter( (cliente) => cliente.nome.toLowerCase().includes(searchTerm.toLowerCase()) || cliente.cpfCnpj.includes(searchTerm), ); const onSubmit = (data: any) => { const parteData = { ...data, tipo, // Garantir que o tipo está sendo enviado nome: useExistingClient ? clientes.find((c) => c.id === data.clienteId)?.nome : data.nome, cpfCnpj: useExistingClient ? clientes.find((c) => c.id === data.clienteId)?.cpfCnpj : data.cpfCnpj, clienteId: useExistingClient ? data.clienteId : undefined, principal: data.principal || false, }; console.log("Enviando dados:", parteData); // Debug onSave(parteData); onClose(); }; return ( {/* ... dialog backdrop ... */}
Adicionar {tipo === "AUTOR" ? "Autor" : "Réu"}
{/* Adicionar campo oculto para o tipo */}
setUseExistingClient(e.target.checked)} className="rounded border-gray-300" />
{useExistingClient ? (
setSearchTerm(e.target.value)} />
{filteredClientes.map((cliente) => ( ))}
) : ( <> )}
); };