From 1aab45f29c8c67f09f70cb8807431dcd62f3bb1a Mon Sep 17 00:00:00 2001 From: urieljareth Date: Sat, 11 Jul 2026 14:27:25 -0600 Subject: [PATCH] Registro de horas: hacer descubrible como regresar una partida pagada a "Por pagar" El boton de revertir solo aparecia en la vista "Pagadas", pero el filtro por defecto es "Por pagar", que oculta las pagadas -> el usuario no encontraba como corregirlas. Ahora: - Las tarjetas de resumen "Por pagar" / "Pagado" son clicables y filtran la tabla; la de "Pagado" muestra el hint "Ver / editar" y lleva a las partidas pagadas. - Cuando no hay pendientes pero si pagadas, el estado vacio ofrece un boton "Ver N pagada(s) para editar o regresar a Por pagar". - Los botones de accion por fila ahora llevan texto ("Pagada" / "Por pagar"), no solo icono, para que revertir sea evidente. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../cotizaciones/[id]/RegistroHorasPanel.tsx | 79 ++++++++++++++----- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/src/app/(app)/cotizaciones/[id]/RegistroHorasPanel.tsx b/src/app/(app)/cotizaciones/[id]/RegistroHorasPanel.tsx index 1409d0b..a5ea1b1 100644 --- a/src/app/(app)/cotizaciones/[id]/RegistroHorasPanel.tsx +++ b/src/app/(app)/cotizaciones/[id]/RegistroHorasPanel.tsx @@ -450,9 +450,19 @@ export function RegistroHorasPanel({ - {/* Resumen separado: pendiente vs pagado (nunca se acumulan). */} + {/* Resumen separado: pendiente vs pagado (nunca se acumulan). Cada tarjeta + funciona ademas como filtro: al hacer clic muestra esas partidas abajo. + La de "Pagado" es el camino para editar/regresar a por pagar una partida. */}
-
+
-
-
-
- Pagado + +
+
{/* Formulario de alta / edicion */} @@ -617,14 +640,26 @@ export function RegistroHorasPanel({ {/* Tabla */} {filtrados.length === 0 ? ( -

- {estadoFiltro === "pagada" - ? "No hay horas marcadas como pagadas" - : estadoFiltro === "por_pagar" - ? "No hay horas pendientes de pago" - : "Aún no hay registros de horas"} - {from || to ? " en este periodo" : ""}. -

+
+

+ {estadoFiltro === "pagada" + ? "No hay horas marcadas como pagadas" + : estadoFiltro === "por_pagar" + ? "No hay horas pendientes de pago" + : "Aún no hay registros de horas"} + {from || to ? " en este periodo" : ""}. +

+ {estadoFiltro === "por_pagar" && resumen.pagada.count > 0 && ( + + )} +
) : (
@@ -672,31 +707,33 @@ export function RegistroHorasPanel({ ) : ( )}