From 46d20657eaa01b50adee8f172df060682b25377a Mon Sep 17 00:00:00 2001 From: Consult AS Technology Date: Fri, 11 Sep 2026 00:26:52 +0000 Subject: [PATCH] =?UTF-8?q?fix(cancelar):=20botones=20Cancelaci=C3=B3n=20A?= =?UTF-8?q?partado=20y=20Cancelo=20funcionan=20con=20motivo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ModalDescarteGenerico restaurado (motivo + comentario) - Cancelación Apartado: abre modal → confirma → cambia estado - Cancelo en Escrituración: abre modal → confirma → cambia estado - onFase intercepta ambas fases y abre el modal de cancelación --- apps/mi-dia/src/pages/MiDiaPage.tsx | 87 +++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/apps/mi-dia/src/pages/MiDiaPage.tsx b/apps/mi-dia/src/pages/MiDiaPage.tsx index e8aff21..d9a03fb 100644 --- a/apps/mi-dia/src/pages/MiDiaPage.tsx +++ b/apps/mi-dia/src/pages/MiDiaPage.tsx @@ -233,6 +233,73 @@ function FilaOportunidad({ } /** Fila de apartado con botones de fase del pipeline Enkontrol */ +function ModalDescarteGenerico({ + item, + titulo, + onCancelar, + onConfirmar, + enviando, +}: { + item: { id: string; nombre: string } + titulo: string + onCancelar: () => void + onConfirmar: (motivo: string, subcategoria: string | undefined, comentario: string) => void + enviando: boolean +}) { + const [motivo, setMotivo] = useState('Timing') + const [subcategoria] = useState('') + const [comentario, setComentario] = useState('') + return ( +
+
+

{titulo}

+

{item.nombre}

+
{ + e.preventDefault() + onConfirmar(motivo, subcategoria === '' ? undefined : subcategoria, comentario.trim()) + }} + > +
+ + +
+
+ +