From 29c2a4495c9ec14a9d6867fce26cbec930653f18 Mon Sep 17 00:00:00 2001 From: chattie Date: Sat, 22 Aug 2026 18:15:58 +0200 Subject: [PATCH] feat(F-165): completed feature --- backlog/features.json | 32 ++++++++++++++++ .../apps/admin/src/app/(dashboard)/layout.tsx | 6 ++- work/artifacts/F-165/architect.md | 3 ++ work/artifacts/F-165/documenter.md | 3 ++ work/artifacts/F-165/implementer.md | 3 ++ work/artifacts/F-165/leader-close.json | 1 + work/artifacts/F-165/qa.json | 1 + work/artifacts/F-165/reviewer.json | 1 + work/artifacts/F-165/security.json | 1 + work/current.md | 17 +-------- work/runtime-status.json | 38 +++++++++---------- 11 files changed, 71 insertions(+), 35 deletions(-) create mode 100644 work/artifacts/F-165/architect.md create mode 100644 work/artifacts/F-165/documenter.md create mode 100644 work/artifacts/F-165/implementer.md create mode 100644 work/artifacts/F-165/leader-close.json create mode 100644 work/artifacts/F-165/qa.json create mode 100644 work/artifacts/F-165/reviewer.json create mode 100644 work/artifacts/F-165/security.json diff --git a/backlog/features.json b/backlog/features.json index 8cb2983..a8bc93e 100644 --- a/backlog/features.json +++ b/backlog/features.json @@ -6805,6 +6805,38 @@ "security": false, "qa": false } + }, + { + "id": "F-165", + "type": "fix", + "title": "Use brand logo in collapsed sidebar", + "description": "Replace collapsed sidebar leaf emoji with logo-main.png while preserving icon-only dimensions and accessibility.", + "priority": "high", + "risk": "low", + "status": "done", + "created_at": "2026-08-22", + "gates": { + "reviewer": true, + "security": true, + "qa": true, + "close": true + }, + "completed_at": "2026-08-22T16:15:58Z" + }, + { + "id": "F-166", + "type": "fix", + "title": "Remove duplicate VAT rate in storefront price", + "description": "Product frontend price repeats IVA 10% in inclusive and breakdown labels; show the VAT rate only once without losing gross/net meaning.", + "priority": "med", + "risk": "low", + "status": "pending", + "created_at": "2026-08-22", + "gates": { + "reviewer": false, + "security": false, + "qa": false + } } ] } diff --git a/project/apps/admin/src/app/(dashboard)/layout.tsx b/project/apps/admin/src/app/(dashboard)/layout.tsx index 483c8b9..57eff25 100644 --- a/project/apps/admin/src/app/(dashboard)/layout.tsx +++ b/project/apps/admin/src/app/(dashboard)/layout.tsx @@ -102,7 +102,11 @@ function Sidebar({ role, email, collapsed, mobileOpen, onCloseMobile, onLogout } alt="mercadodevida" className={`mx-auto h-9 w-auto object-contain ${collapsed ? 'lg:hidden' : ''}`} /> - +
diff --git a/work/artifacts/F-165/architect.md b/work/artifacts/F-165/architect.md new file mode 100644 index 0000000..811cd29 --- /dev/null +++ b/work/artifacts/F-165/architect.md @@ -0,0 +1,3 @@ +# F-165 — Diseño + +Reutilizar `/images/logo-main.png` para ambos estados. El logo expanded se oculta solo en desktop collapsed; una segunda instancia cuadrada `h-9 w-9 object-contain` aparece únicamente en ese estado. No se introduce asset nuevo. diff --git a/work/artifacts/F-165/documenter.md b/work/artifacts/F-165/documenter.md new file mode 100644 index 0000000..2952965 --- /dev/null +++ b/work/artifacts/F-165/documenter.md @@ -0,0 +1,3 @@ +# F-165 + +El sidebar colapsado usa el logo oficial `logo-main.png`; no usa emoji. diff --git a/work/artifacts/F-165/implementer.md b/work/artifacts/F-165/implementer.md new file mode 100644 index 0000000..cd8c380 --- /dev/null +++ b/work/artifacts/F-165/implementer.md @@ -0,0 +1,3 @@ +# F-165 — Implementer + +Sustituido emoji por segunda instancia de `/images/logo-main.png` en desktop collapsed (`h-9 w-9 object-contain`). Build admin y TypeScript PASS; no queda emoji en layout. diff --git a/work/artifacts/F-165/leader-close.json b/work/artifacts/F-165/leader-close.json new file mode 100644 index 0000000..c1fe172 --- /dev/null +++ b/work/artifacts/F-165/leader-close.json @@ -0,0 +1 @@ +{"feature_id":"F-165","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"all gates/build","ok":true}],"issues":[]} diff --git a/work/artifacts/F-165/qa.json b/work/artifacts/F-165/qa.json new file mode 100644 index 0000000..552f926 --- /dev/null +++ b/work/artifacts/F-165/qa.json @@ -0,0 +1 @@ +{"feature_id":"F-165","agent":"qa","stage":"qa_gate","verdict":"APPROVED","checks":[{"item":"emoji removed","ok":true},{"item":"collapsed logo dimensions","ok":true},{"item":"build","ok":true}],"issues":[]} diff --git a/work/artifacts/F-165/reviewer.json b/work/artifacts/F-165/reviewer.json new file mode 100644 index 0000000..98af1bc --- /dev/null +++ b/work/artifacts/F-165/reviewer.json @@ -0,0 +1 @@ +{"feature_id":"F-165","agent":"reviewer","stage":"review_gate","verdict":"APPROVED","checks":[{"item":"brand asset reused","ok":true},{"item":"build","ok":true}],"issues":[]} diff --git a/work/artifacts/F-165/security.json b/work/artifacts/F-165/security.json new file mode 100644 index 0000000..45353c4 --- /dev/null +++ b/work/artifacts/F-165/security.json @@ -0,0 +1 @@ +{"feature_id":"F-165","agent":"security","stage":"security_gate","verdict":"APPROVED","checks":[{"item":"local static asset only","ok":true}],"issues":[]} diff --git a/work/current.md b/work/current.md index 5e0d6e8..6292ce4 100644 --- a/work/current.md +++ b/work/current.md @@ -1,16 +1,3 @@ -# Feature activa: F-161 — Complete admin order detail information +# F-165 — Use brand logo in collapsed sidebar -## Diagnóstico -El pedido existente se creó con `user_id` de `backoffice_users` porque Checkout usa `combinedAuth`, que prioriza `backoffice_session` si ambos cookies existen. Por eso el JOIN a `identity_users` no encuentra email, perfil ni dirección. La UI además oculta por completo Cliente, Direcciones y Pago cuando faltan datos. - -## Solución -- Checkout debe usar exclusivamente el autenticador de identidad/customer. -- El detalle obtiene nombre/teléfono desde `users_profiles` como fallback. -- Las tarjetas Cliente, Envío, Facturación y Pago siempre aparecen, mostrando estado explícito cuando un dato no fue registrado. -- Reparar la asociación del pedido local afectado con el cliente correcto. - -## Aceptación -- El pedido muestra email, nombre, teléfono y dirección de envío. -- No aparece el falso aviso «El cliente no tiene email asociado». -- Pago/facturación ausentes se muestran como «No registrado», no desaparecen. -- Futuros checkouts no usan sesiones backoffice. +Sustituir el emoji del sidebar colapsado por `/images/logo-main.png`, con dimensiones icon-only y `alt="mercadodevida"`. Mantener el logo completo en expanded/mobile. diff --git a/work/runtime-status.json b/work/runtime-status.json index bd22c0c..c9ce730 100644 --- a/work/runtime-status.json +++ b/work/runtime-status.json @@ -1,68 +1,68 @@ { - "feature_id": "F-161", + "feature_id": "F-165", "stage": "close", "agent": "leader", - "action": "Close complete order detail fix", + "action": "Close collapsed logo fix", "state": "running", "next_agent": "leader", "waiting_for": "Seleccionar una feature pending y actualizar este estado", - "updated_at": "2026-08-22T16:13:24Z", + "updated_at": "2026-08-22T16:15:43Z", "timeline": [ { - "ts": "2026-08-22T16:05:41Z", + "ts": "2026-08-22T16:13:46Z", "agent": "leader", "stage": "intake", "state": "running", - "message": "Audit order detail customer, shipping and payment data" + "message": "Replace collapsed emoji with brand logo" }, { - "ts": "2026-08-22T16:07:57Z", + "ts": "2026-08-22T16:13:57Z", "agent": "architect", "stage": "design", "state": "running", - "message": "Design customer-only checkout auth and complete detail fallbacks" + "message": "Specify collapsed brand mark" }, { - "ts": "2026-08-22T16:08:21Z", + "ts": "2026-08-22T16:14:08Z", "agent": "implementer", "stage": "build", "state": "running", - "message": "Fix checkout ownership and order detail read model" + "message": "Render logo-main in collapsed sidebar" }, { - "ts": "2026-08-22T16:12:38Z", + "ts": "2026-08-22T16:14:37Z", "agent": "reviewer", "stage": "review_gate", "state": "running", - "message": "Review order ownership and detail completeness" + "message": "Review collapsed brand logo" }, { - "ts": "2026-08-22T16:12:50Z", + "ts": "2026-08-22T16:14:54Z", "agent": "security", "stage": "security_gate", "state": "running", - "message": "Verify customer ownership isolation" + "message": "Check static asset change" }, { - "ts": "2026-08-22T16:13:04Z", + "ts": "2026-08-22T16:15:02Z", "agent": "qa", "stage": "qa_gate", "state": "running", - "message": "Validate order customer/address/payment sections" + "message": "Validate collapsed logo acceptance" }, { - "ts": "2026-08-22T16:13:13Z", + "ts": "2026-08-22T16:15:31Z", "agent": "documenter", "stage": "document", "state": "running", - "message": "Document complete order detail" + "message": "Document collapsed logo" }, { - "ts": "2026-08-22T16:13:24Z", + "ts": "2026-08-22T16:15:43Z", "agent": "leader", "stage": "close", "state": "running", - "message": "Close complete order detail fix" + "message": "Close collapsed logo fix" } ] }