feat(F-158): completed feature
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
# Feature activa: F-157 — Reporting sections live on Reporting page
|
||||
# Feature activa: F-158 — POS use same-origin API proxy on LAN
|
||||
|
||||
## Problema
|
||||
El menú principal muestra Dashboard, Ventas y Productos de Reporting como entradas indentadas. El operador requiere una única entrada principal **Reporting**. Al abrirla, sus apartados deben aparecer dentro del área de Reporting, igual que las pestañas internas de Ajustes.
|
||||
El TPV abierto en `http://192.168.18.93:3006` ejecuta peticiones del navegador contra `http://localhost:3000`. En un cliente LAN, `localhost` apunta al propio cliente y produce `ERR_CONNECTION_REFUSED`.
|
||||
|
||||
## Alcance
|
||||
- El sidebar principal muestra solo `Reporting`.
|
||||
- `/reporting` abre por defecto el apartado Dashboard.
|
||||
- Dashboard, Ventas y Productos se muestran como navegación local dentro de Reporting.
|
||||
- La navegación local permanece visible en las páginas de los tres apartados.
|
||||
- No se cambian APIs ni permisos de Reporting.
|
||||
- El cliente POS usa rutas same-origin `/api/...`.
|
||||
- El route handler de Next.js reenvía las peticiones al backend privado (`127.0.0.1:3000`).
|
||||
- El proxy conserva cookies de sesión y `x-terminal-id`.
|
||||
- El login propaga `Set-Cookie` al navegador.
|
||||
- Next dev permite el origen LAN `192.168.18.93`.
|
||||
|
||||
## Aceptación
|
||||
1. No aparecen `/reporting/dashboard`, `/reporting/sales` ni `/reporting/products` en el menú principal.
|
||||
2. Al pulsar Reporting aparece una lista local con Dashboard, Ventas y Productos.
|
||||
3. El apartado activo queda visualmente marcado.
|
||||
4. El build del admin y `verify.sh` pasan.
|
||||
1. El navegador no solicita directamente `localhost:3000`.
|
||||
2. `GET /api/pos/config` llega al backend mediante el proxy.
|
||||
3. Login conserva la cookie de sesión.
|
||||
4. POS build, TypeScript y `verify.sh` pasan.
|
||||
|
||||
Reference in New Issue
Block a user