# ORDERS-FIX — Design ## Feature **ID:** ORDERS-FIX **Title:** Orders detail: refund history shown in human-friendly format --- ## Solución ### Enfoque: Mejora de UI en el frontend Dado que el historial usa `event.message` como string libre, el fix más seguro es mejorar el renderizado: 1. **Detectar refunds** en el mensaje por keywords 2. **Formatear importes** en euros (€) 3. **Usar iconos** visuales (💰 ↔️ 💸) 4. **Colores** distintivos para refunds (púrpura/rosa vs azul normal) ### Cambios en `orders/[id]/page.tsx` ```tsx // Helper para detectar refunds function isRefundEvent(message: string): boolean { const lower = message.toLowerCase(); return lower.includes('refund') || lower.includes('reembolso') || lower.includes('devolución'); } // En el render del historial: {[...history].reverse().map((event) => { const isRefund = isRefundEvent(event.message); return (

{isRefund && '💸 '}{event.message}

{new Date(event.createdAt).toLocaleString('es-ES')} {event.actorEmail ? ` · ${event.actorEmail}` : ''}

); })} ``` ### Beneficios - No requiere cambios en backend - Bajo riesgo - Mejora visual inmediata - Fallback graceful si no hay refunds --- ## Archivos a Modificar - `project/apps/admin/src/app/(dashboard)/orders/[id]/page.tsx` --- ## Testing 1. Order sin refunds → historial normal (azul) 2. Order con refunds → mensaje con 💸 y color púrpura 3. Eventos shipping → púrpura diferenciado ## Gates - [ ] reviewer: PENDING - [ ] security: PENDING - [ ] qa: PENDING