43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# TICKET-LOGO — Intake
|
|
|
|
## Feature
|
|
- **ID:** TICKET-LOGO
|
|
- **Title:** TPV ticket header: allow custom text or logo upload
|
|
- **Type:** feature
|
|
- **Priority:** med
|
|
- **Risk:** low
|
|
|
|
## Análisis
|
|
|
|
### Estado Actual
|
|
|
|
**ReceiptModal.tsx** muestra:
|
|
```tsx
|
|
{/* Logo */}
|
|
<img src="/images/logo-main.png" alt="Logo" className="h-16 object-contain" />
|
|
{/* Custom header text */}
|
|
{receipt.header && <p className="font-semibold">{receipt.header}</p>}
|
|
```
|
|
|
|
**Hallazgos:**
|
|
1. ✅ **Custom text**: Ya existe! `receipt.header` viene de `store.receipt_header`
|
|
2. ❌ **Logo upload**: NO existe - hardcodeado como `/images/logo-main.png`
|
|
|
|
### Lo que falta
|
|
|
|
Para permitir logo custom:
|
|
1. Campo `logo_url` en `pos_stores` o tabla de configuración
|
|
2. Upload de imagen (endpoint + almacenamiento)
|
|
3. Mostrar logo custom en ReceiptModal (con fallback a default)
|
|
|
|
### Impacto
|
|
|
|
- Requiere migración de DB (nuevo campo)
|
|
- Requiere endpoint de upload o URL manual
|
|
- Bajo riesgo si se usa fallback al logo default
|
|
|
|
## Preguntas Pendientes
|
|
- [ ] ¿Cómo se provee el logo? (URL manual vs upload)
|
|
- [ ] ¿Solo un logo o múltiples opciones?
|
|
- [ ] ¿Placeholder cuando no hay logo?
|