2.0 KiB
2.0 KiB
TICKET-LOGO — Implementer Report
Feature
ID: TICKET-LOGO Title: TPV ticket header: allow custom text or logo upload
Cambios Realizados
1. Migration (nueva)
Archivo: project/migrations/063_pos_store_logo_url.js
- Agrega columna
logo_url(text, nullable) apos_stores
2. Domain Types
Archivo: project/src/modules/pos/domain/pos-sale.ts
- Agregado
logoUrl: string | nulla interfacePosReceipt
3. Build Receipt
Archivo: project/src/modules/pos/application/build-pos-receipt.ts
- Query SQL incluye
store.logo_url - Receipt incluye
logoUrldel store buildPosReturnReceiptpropagalogoUrl
4. API Routes
Archivo: project/src/modules/pos/api/pos.routes.ts
- POST
/pos/admin/stores: aceptalogoUrl(URL válida, max 500) - PATCH
/pos/admin/receipt-settings: actualizalogo_url
5. Admin UI
Archivo: project/apps/admin/src/app/(dashboard)/pos/page.tsx
- Interface
ReceiptSettingsincluyelogoUrl - Campo input para URL del logo
- Empty state incluye
logoUrl: ''
6. POS Receipt Modal
Archivo: project/apps/pos/src/components/ReceiptModal.tsx
- Logo usa
receipt.logoUrl ?? '/images/logo-main.png'
7. POS Types
Archivo: project/apps/pos/src/types/checkout.ts
PosReceiptinterface incluyelogoUrl
Archivos Modificados/Creados
project/migrations/063_pos_store_logo_url.js(nuevo)project/src/modules/pos/domain/pos-sale.tsproject/src/modules/pos/application/build-pos-receipt.tsproject/src/modules/pos/api/pos.routes.tsproject/apps/admin/src/app/(dashboard)/pos/page.tsxproject/apps/pos/src/components/ReceiptModal.tsxproject/apps/pos/src/types/checkout.ts
Testing Recomendado
- Admin: crear/editar store con logoUrl → guardar
- POS: crear venta → receipt muestra logo custom
- POS: store sin logo → usa default
/images/logo-main.png - Devolución: receipt muestra logo del store