From 90f9c9c6e695c244bdfd3ea640abc172c0601089 Mon Sep 17 00:00:00 2001 From: icamarillo Date: Mon, 16 Feb 2026 08:31:07 -0700 Subject: [PATCH] =?UTF-8?q?Modernizar=20UI=20de=20registros=20de=20auditor?= =?UTF-8?q?=C3=ADa=20(UX=20mejorada)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Diseño responsivo: tabla en desktop, tarjetas en móvil/tablet - Altura máxima con scroll interno (evita scroll de página completa) - Avatares circulares con iniciales del usuario - Filas/tarjetas más compactas y eficientes - Paginación sticky (siempre visible al fondo) - Botones primera/última página para navegación rápida - Página actual resaltada en color primary - Click en toda la fila para ver detalles - Diseño más moderno y limpio - Mejor uso del espacio vertical --- .../src/routes/audit/+page.svelte | 285 ++++++++++++------ 1 file changed, 194 insertions(+), 91 deletions(-) diff --git a/frontend-internal/src/routes/audit/+page.svelte b/frontend-internal/src/routes/audit/+page.svelte index 6760c52..ac5fc65 100644 --- a/frontend-internal/src/routes/audit/+page.svelte +++ b/frontend-internal/src/routes/audit/+page.svelte @@ -523,8 +523,8 @@ -
-
+
+

Registros de Auditoría @@ -534,145 +534,248 @@

{#if isLoading} -
-
+
+
+
+

Cargando registros...

+
{:else if logs.length === 0} -
- - - -

No hay registros

-

- {periodFilter === 'today' ? 'No hay actividad registrada hoy.' : 'No se encontraron registros para el período seleccionado.'} -

+
+
+ + + +

No hay registros

+

+ {periodFilter === 'today' ? 'No hay actividad registrada hoy.' : 'No se encontraron registros para el período seleccionado.'} +

+
{:else} -
- - - - - - - - - - - - {#each logs as log (log.id)} - - - - - - - - {/each} - -
- Hora - - Usuario - - Acción - - Recurso - - Acciones -
- {formatDateShort(log.created_at)} - + +
+ + + + +
+ {#each logs as log (log.id)} +
viewDetail(log)} + > +
+
+ {#if log.user_email} -
-
{log.user_name || 'N/A'}
-
{getRoleText(log.user_role)}
+
+ + {(log.user_name || '?').charAt(0).toUpperCase()} +
{:else} - Sistema +
+ + + +
{/if} -
- - {formatActionText(log.action)} - - -
{log.resource_type}
- {#if log.ip_address} -
{log.ip_address}
- {/if} -
- -
+ + +
+
+ {formatDateShort(log.created_at)} + + {formatActionText(log.action)} + +
+
+ {log.user_name || 'Sistema'} + • {getRoleText(log.user_role)} +
+
+ {log.resource_type} + {#if log.ip_address} + • {log.ip_address} + {/if} +
+
+
+ + + +
+
+ {/each} +
- + {#if totalPages > 1} -
-
+
+ +
+ + Página {currentPage} de {totalPages} +
-