Informe de reutilización UI — Wari

Generado el 09 de junio de 2026 · 17 páginas analizadas

17
Páginas analizadas
7
Patrones duplicados
2
Prioridad alta
3
Prioridad media
2
Prioridad baja

Índice de páginas

Patrones detectados por ocurrencias

PatrónOcurrencias totales
Badge admin 151
Nav / Sidebar 17
Card admin 17
Glass card 10
Toolbar búsqueda 9
Tabla admin 8
Empty state 6
Page header 6
Form group 6
Section header 3

Duplicaciones identificadas

Barra de búsqueda y filtros (admin)

Alta

Afecta: Admin – Usuarios, Admin – Grupos, Admin – Eventos, Admin – Juegos, Admin – Auditoría, Admin – Notificaciones

Cada página de listado admin replica la misma estructura de toolbar con campo de búsqueda, botón submit y enlace "Limpiar". El código se copia literalmente en 7 templates.

Solución sugerida: Extraer a templates/admin/_toolbar.html.twig con variables action, buscar y filtros.

Tabla admin con acciones por fila

Alta

Afecta: Admin – Usuarios, Admin – Grupos, Admin – Eventos, Admin – Juegos, Admin – Auditoría, Admin – Notificaciones

Estructura admin-card > admin-table > thead/tbody con fila vacía (No data) repetida en 6 templates. Solo cambian las columnas, no el esqueleto.

Solución sugerida: Macro Twig renderTable(headers, rows, emptyText) en admin/_macros.html.twig.

Cabecera de card con badges de estado

Media

Afecta: Admin – Usuarios, Admin – Grupos, Admin – Eventos, Admin – Juegos

Las páginas show de admin duplican el patrón admin-card-header + admin-card-title + admin-badge para mostrar el estado de una entidad.

Solución sugerida: Partial admin/_card_header.html.twig con variables title, status, status_label.

Glass card (eventos, grupos, invitaciones)

Media

Afecta: Dashboard, Eventos – lista, Grupos – lista

34 ocurrencias de .glass-card con variantes card-event, card-group, card-invitation. El interior cambia ligeramente pero la estructura y clases son idénticas.

Solución sugerida: Macro renderCard(type, title, meta, badge, href) o componente Twig CardComponent.

Empty state

Media

Afecta: Eventos – lista, Grupos – lista, Colección grupo, Notificaciones, Admin – Usuarios, Admin – Grupos, Admin – Eventos

13 ocurrencias de .empty-state con ícono, titular y mensaje de texto vacío, cada una escrita a mano.

Solución sugerida: Partial shared/_empty_state.html.twig con variables icon, title, message y bloque opcional actions.

Form group (label + widget + errors)

Baja

Afecta: Perfil, Grupos – nuevo, Eventos – nuevo, Admin – Config SMTP

46 ocurrencias de la tripla form_label / form_widget / form_errors con clases form-label / form-control.

Solución sugerida: Form theme Twig o macro formField(form, field) centralizado.

Pantallazos por página

Cada página muestra la vista limpia y la vista con los patrones resaltados mediante bordes de color.

Dashboard /

Glass card ×10 Empty state ×1 Page header ×1 Section header ×2 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Eventos – lista /eventos

Empty state ×1 Page header ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Grupos – lista /grupos

Empty state ×1 Page header ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Colección grupo /coleccion

Empty state ×1 Page header ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Colección personal /coleccion/personal

Empty state ×1 Page header ×1 Section header ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Notificaciones /notificaciones

Empty state ×1 Page header ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Perfil /perfil

Form group ×6 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Dashboard /admin

Card admin ×2 Badge admin ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Usuarios /admin/usuarios

Toolbar búsqueda ×2 Tabla admin ×1 Card admin ×1 Badge admin ×23 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Grupos /admin/grupos

Toolbar búsqueda ×2 Tabla admin ×1 Card admin ×1 Badge admin ×6 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Eventos /admin/eventos

Toolbar búsqueda ×2 Tabla admin ×1 Card admin ×1 Badge admin ×8 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Juegos /admin/juegos

Toolbar búsqueda ×2 Tabla admin ×1 Card admin ×1 Badge admin ×51 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Auditoría /admin/auditoria

Toolbar búsqueda ×1 Tabla admin ×1 Badge admin ×51 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Estadísticas /admin/estadisticas

Tabla admin ×1 Card admin ×5 Badge admin ×4 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Notificaciones /admin/notificaciones

Tabla admin ×1 Card admin ×2 Badge admin ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Integraciones /admin/integraciones

Tabla admin ×1 Card admin ×3 Badge admin ×5 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados

Admin – Consola /admin/consola

Card admin ×1 Badge admin ×1 Nav / Sidebar ×1
Clean screenshot
Original
Highlighted screenshot
Patrones resaltados