Files
mercadodevida/work/artifacts/F-075/implementer.md
2026-08-19 19:29:11 +02:00

1.9 KiB

F-075 — Implementer evidence: Inline edit SKU/EAN/STOCK in inventory module; remove Actions column

Problem

The inventory page had:

  1. SKU and EAN displayed as plain text (no edit capability)
  2. Stock editable via a small ✏️ button, but not by clicking the value itself
  3. Vestigial "Acción" column header (th) with no corresponding data cell (td) in tbody

Changes

API client

project/apps/admin/src/lib/api-client.ts:

  • Added updateVariant(productId, variantId, data) to productsApi — calls PATCH /api/products/:productId/variants/:variantId

Inventory page

project/apps/admin/src/app/(dashboard)/inventory/page.tsx:

  • Extended VariantRow interface with editingSku, editSkuValue, savingSku, editingEan, editEanValue, savingEan fields
  • Added handleSaveSku(variantId, productId, newSku) — calls productsApi.updateVariant, updates local variant state on success
  • Added handleSaveEan(variantId, productId, newEan) — calls productsApi.updateVariant with ean (null if empty), updates local variant on success
  • SKU cell: click on text → input appears (autoFocus) → save on Enter or blur, cancel on Escape
  • EAN cell: same pattern as SKU
  • Stock cell: click on the quantity value itself (not just ✏️) → enters edit mode
  • Removed the "Acción" column header (th) and its empty corresponding data cell (td) — the msg feedback is now removed from the table (it's still set in state but not displayed in the table)
  • All editing states reset properly on Escape or save

Verification

  • npx tsc --noEmit admin — exit 0
  • npx eslint on changed files — exit 0
  • ./scripts/verify.sh — exit 0

Files touched

project/apps/admin/src/lib/api-client.ts                                (modified)
project/apps/admin/src/app/(dashboard)/inventory/page.tsx                (modified)
work/artifacts/F-075/implementer.md                                   (this file)