Files
2026-08-25 06:31:00 +02:00

2.3 KiB

TPV-FIXES — Design

Feature

ID: TPV-FIXES Bugs: favicon 404, Cashier label, pos/sales 400 error


Fix 1: favicon 404 (storefront)

Problema

project/storefront/src/app/layout.tsx no declara favicon en metadata.

Solución

Agregar al metadata en layout.tsx:

icons: { icon: '/favicon.ico', shortcut: '/favicon.ico' }

Archivos a modificar:

  • project/storefront/src/app/layout.tsx

Fix 2: Cashier label

Problema

El receipt muestra "Cajero:" hardcodeado. Posibles issues:

  1. El label no es neutral en género
  2. El valor receipt.cashier viene vacío

Investigación requerida

  • Verificar receipt.cashier viene del buildPosReceipt.ts
  • Si es localization, agregar i18n
  • Si es empty,fix en el useCase que construye el receipt

Archivos a revisar:

  • project/src/modules/pos/application/build-pos-receipt.ts
  • project/apps/pos/src/types/checkout.ts

Solución provisional (si es localization)

// En ReceiptModal.tsx, línea ~95
<strong>{t('pos.cashier') || 'Cajero:'}</strong>
// O usar label neutral:
<strong>Operador:</strong>

Fix 3: pos/sales 400 error

Problema

Los endpoints POST /pos/sales y POST /pos/sales/:id/payments devuelven 400 cuando:

  1. Falta header x-terminal-id
  2. Falta body.terminalId
  3. Falta methodCode en payments

Solución

Revisar apps/pos/src/lib/api-client.ts para asegurar que:

  1. Se envía x-terminal-id header
  2. El body incluye terminalId matching

Si el bug es en el backend, mejorar mensaje de error Zod:

// En pos.routes.ts
.refine((value) => Boolean(value.methodCode || value.kind), {
  message: 'methodCode o kind es requerido',
})

Resumen de cambios

Bug Archivo Cambio
favicon storefront/src/app/layout.tsx Agregar icons a metadata
cashier pos/src/components/ReceiptModal.tsx Verificar yfix label/value
400 error pos/src/lib/api-client.ts Verificar headers/body

Testing

  • Navegar storefront → verificar favicon en tab
  • Crear venta POS → verificar receipt muestra cashier correcto
  • Llamar POST /pos/sales → verificar 201 vs 400

Gates

  • reviewer: PENDING
  • security: PENDING
  • qa: PENDING