feat(F-166): completed feature

This commit is contained in:
chattie
2026-08-22 18:21:15 +02:00
parent b1bbaa1055
commit 9018c89590
11 changed files with 42 additions and 27 deletions

View File

@@ -6832,13 +6832,15 @@
"description": "Product frontend price repeats IVA 10% in inclusive and breakdown labels; show the VAT rate only once without losing gross/net meaning.", "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", "priority": "med",
"risk": "low", "risk": "low",
"status": "pending", "status": "done",
"created_at": "2026-08-22", "created_at": "2026-08-22",
"gates": { "gates": {
"reviewer": false, "reviewer": true,
"security": false, "security": true,
"qa": false "qa": true,
} "close": true
},
"completed_at": "2026-08-22T16:21:15Z"
} }
] ]
} }

View File

@@ -146,7 +146,7 @@ export default async function ProductPage({ params }: Props) {
<div className="mt-6 bg-gray-50 rounded-xl p-6"> <div className="mt-6 bg-gray-50 rounded-xl p-6">
<div className="flex items-baseline gap-3"> <div className="flex items-baseline gap-3">
<span className="text-4xl font-bold text-[#70ad47]">{formatPrice(grossCents)}</span> <span className="text-4xl font-bold text-[#70ad47]">{formatPrice(grossCents)}</span>
<span className="text-lg text-gray-500">inc. IVA {vatPercent}%</span> <span className="text-lg text-gray-500">inc. IVA</span>
</div> </div>
<div className="mt-2 text-sm text-gray-500"> <div className="mt-2 text-sm text-gray-500">
{formatPrice(netCents)} sin IVA · IVA {vatPercent}% {formatPrice(netCents)} sin IVA · IVA {vatPercent}%

View File

@@ -0,0 +1,3 @@
# F-166 — Diseño
No cambiar cálculos ni formato monetario. Eliminar únicamente `{vatPercent}%` del label junto al PVP bruto; conservarlo una vez en la línea neta/desglose.

View File

@@ -0,0 +1,3 @@
# F-166
El porcentaje de IVA aparece una sola vez en el desglose de precio.

View File

@@ -0,0 +1,3 @@
# F-166 — Implementer
Eliminado porcentaje duplicado del label bruto. Queda `inc. IVA` y el porcentaje aparece una sola vez en `sin IVA · IVA N%`. Frontend build y tsc PASS.

View File

@@ -0,0 +1 @@
{"feature_id":"F-166","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"all gates/build","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-166","agent":"qa","stage":"qa_gate","verdict":"APPROVED","checks":[{"item":"inc IVA without rate","ok":true},{"item":"rate retained once","ok":true},{"item":"frontend build","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-166","agent":"reviewer","stage":"review_gate","verdict":"APPROVED","checks":[{"item":"VAT rate once","ok":true},{"item":"build","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-166","agent":"security","stage":"security_gate","verdict":"APPROVED","checks":[{"item":"display only","ok":true}],"issues":[]}

View File

@@ -1,3 +1,3 @@
# F-162Add storefront product link to inventory # F-166Remove duplicate VAT rate in storefront price
Añadir columna final **Tienda** en Inventario. Cada producto activo enlaza a `http://192.168.18.93:3003/products/{slug}` en nueva pestaña, reutilizando icono, estilos y seguridad `noopener noreferrer` del listado Productos. En ficha de producto mantener `PVP inc. IVA` y mostrar el porcentaje solo en el desglose neto: `€14.40 sin IVA · IVA 10%`.

View File

@@ -1,68 +1,68 @@
{ {
"feature_id": "F-162", "feature_id": "F-166",
"stage": "close", "stage": "close",
"agent": "leader", "agent": "leader",
"action": "Close Inventory link fix", "action": "Close VAT label fix",
"state": "running", "state": "running",
"next_agent": "leader", "next_agent": "leader",
"waiting_for": "Seleccionar una feature pending y actualizar este estado", "waiting_for": "Seleccionar una feature pending y actualizar este estado",
"updated_at": "2026-08-22T16:18:19Z", "updated_at": "2026-08-22T16:20:59Z",
"timeline": [ "timeline": [
{ {
"ts": "2026-08-22T16:16:06Z", "ts": "2026-08-22T16:18:46Z",
"agent": "leader", "agent": "leader",
"stage": "intake", "stage": "intake",
"state": "running", "state": "running",
"message": "Add storefront link column to Inventory" "message": "Remove repeated VAT rate from storefront price"
}, },
{ {
"ts": "2026-08-22T16:16:31Z", "ts": "2026-08-22T16:19:03Z",
"agent": "architect", "agent": "architect",
"stage": "design", "stage": "design",
"state": "running", "state": "running",
"message": "Reuse Products storefront link pattern" "message": "Keep VAT rate only in price breakdown"
}, },
{ {
"ts": "2026-08-22T16:16:54Z", "ts": "2026-08-22T16:19:18Z",
"agent": "implementer", "agent": "implementer",
"stage": "build", "stage": "build",
"state": "running", "state": "running",
"message": "Add Tienda link column to Inventory" "message": "Remove duplicate VAT percent label"
}, },
{ {
"ts": "2026-08-22T16:17:31Z", "ts": "2026-08-22T16:19:59Z",
"agent": "reviewer", "agent": "reviewer",
"stage": "review_gate", "stage": "review_gate",
"state": "running", "state": "running",
"message": "Review Inventory storefront link" "message": "Review VAT label"
}, },
{ {
"ts": "2026-08-22T16:17:46Z", "ts": "2026-08-22T16:20:11Z",
"agent": "security", "agent": "security",
"stage": "security_gate", "stage": "security_gate",
"state": "running", "state": "running",
"message": "Check external storefront link safety" "message": "Check display-only change"
}, },
{ {
"ts": "2026-08-22T16:17:57Z", "ts": "2026-08-22T16:20:24Z",
"agent": "qa", "agent": "qa",
"stage": "qa_gate", "stage": "qa_gate",
"state": "running", "state": "running",
"message": "Validate Inventory Tienda column" "message": "Validate one VAT rate label"
}, },
{ {
"ts": "2026-08-22T16:18:09Z", "ts": "2026-08-22T16:20:36Z",
"agent": "documenter", "agent": "documenter",
"stage": "document", "stage": "document",
"state": "running", "state": "running",
"message": "Document Inventory storefront link" "message": "Document VAT label"
}, },
{ {
"ts": "2026-08-22T16:18:19Z", "ts": "2026-08-22T16:20:59Z",
"agent": "leader", "agent": "leader",
"stage": "close", "stage": "close",
"state": "running", "state": "running",
"message": "Close Inventory link fix" "message": "Close VAT label fix"
} }
] ]
} }