chore(dash-remove-variants-card): dashboard: remove variants KPI cards (Sin stock + Alertas)
This commit is contained in:
86
work/artifacts/DASH-REMOVE-VARIANTS-CARD/implementer.md
Normal file
86
work/artifacts/DASH-REMOVE-VARIANTS-CARD/implementer.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# DASH-REMOVE-VARIANTS-CARD — Implementer evidence
|
||||
|
||||
> Implementer: build · Estado: ready for review
|
||||
|
||||
## Resumen ejecutivo
|
||||
|
||||
He eliminado las 2 KPI cards del dashboard que referenciaban el concepto
|
||||
"variantes" de producto. El concepto variants ya no aplica desde F-108
|
||||
(remove variants module), y la card "Alertas" era además redundante con
|
||||
la campanita `OrderNotifications` (NOTIF-INVENTORY-ALERTS cerrado en la
|
||||
sesión anterior, que ahora muestra todas las alertas de inventario).
|
||||
|
||||
## Cambios aplicados
|
||||
|
||||
| Archivo | Δ | Descripción |
|
||||
|---|---|---|
|
||||
| `project/apps/admin/src/app/(dashboard)/page.tsx` | -19/+2 | Eliminada la KPI card "Sin stock" (sub "Variantes agotadas") de la fila primaria. Eliminada la KPI card "Alertas" (sub "X sin stock") de la fila secundaria. Grids rebalanceados: primaria `lg:grid-cols-4` → `lg:grid-cols-3`; secundaria `lg:grid-cols-3` → `lg:grid-cols-2`. |
|
||||
|
||||
Total: 1 archivo, 2 líneas añadidas, 19 líneas eliminadas.
|
||||
|
||||
## Estado final del dashboard
|
||||
|
||||
| Fila | Antes | Después |
|
||||
|---|---|---|
|
||||
| KPI primaria | Pedidos hoy, Ingresos hoy, Productos activos, **Sin stock** | Pedidos hoy, Ingresos hoy, Productos activos |
|
||||
| KPI secundaria | Clientes nuevos, Total pedidos, **Alertas** | Clientes nuevos, Total pedidos |
|
||||
| Pedidos por estado | (intacto) | (intacto) |
|
||||
| Acciones rápidas | (intacto) | (intacto) |
|
||||
|
||||
## Decisiones
|
||||
|
||||
1. **`outOfStockVariants` en el interface Stats se mantiene.** Aunque ya no
|
||||
se renderiza, sigue siendo parte del contrato con el backend. El
|
||||
endpoint `/api/admin/stats` sigue devolviéndolo (otros consumers pueden
|
||||
usarlo). Eliminarlo del interface sería un cambio de contrato de API
|
||||
innecesario para un chore visual.
|
||||
2. **No reemplazo el card con algo nuevo.** El operador tiene la campanita
|
||||
en el header que ahora muestra todas las alertas de inventario (low
|
||||
stock, out of stock, caducados, por caducar, margen <30%). Duplicar
|
||||
esa info en el dashboard sería ruido.
|
||||
3. **Backend intacto.** No se toca `/api/admin/stats` ni
|
||||
`admin-stats/api/stats.routes.ts`. Si en el futuro nadie consume
|
||||
`outOfStockVariants`, se limpiará en otra iteración.
|
||||
|
||||
## Evidencia de verificación
|
||||
|
||||
### 1. Typecheck admin
|
||||
|
||||
```bash
|
||||
$ cd project/apps/admin && npx tsc --noEmit
|
||||
(exit 0, sin output)
|
||||
```
|
||||
|
||||
### 2. verify.sh del orquestra
|
||||
|
||||
```bash
|
||||
$ ./scripts/verify.sh
|
||||
[OK] backlog válido (367 features)
|
||||
[OK] runtime-status válido
|
||||
[OK] Orquestra verificado. Puedes trabajar.
|
||||
```
|
||||
|
||||
### 3. Diff resumido
|
||||
|
||||
```text
|
||||
project/apps/admin/src/app/(dashboard)/page.tsx | 21 ++-------------------
|
||||
1 file changed, 2 insertions(+), 19 deletions(-)
|
||||
```
|
||||
|
||||
Cambios:
|
||||
- `lg:grid-cols-4` → `lg:grid-cols-3` (primaria).
|
||||
- `lg:grid-cols-3` → `lg:grid-cols-2` (secundaria).
|
||||
- Bloque `<KPICard label="Sin stock" .../>` eliminado.
|
||||
- Bloque `<KPICard label="Alertas" .../>` eliminado.
|
||||
|
||||
## Cosas que NO hice (scope deliberado)
|
||||
|
||||
- No toqué el backend `/api/admin/stats` (mantiene `outOfStockVariants`).
|
||||
- No reemplacé los cards eliminados con otros (campanita cubre el caso).
|
||||
- No eliminé `outOfStockVariants` del interface `Stats` (cambio de contrato innecesario).
|
||||
|
||||
## Próximo stage
|
||||
|
||||
→ **review_gate (reviewer)**: revisión técnica rápida.
|
||||
→ **security_gate (security)**: trivially OK (solo UI removal, sin superficie de seguridad).
|
||||
→ **qa_gate (qa)**: visual check.
|
||||
Reference in New Issue
Block a user