feat(F-075): completed feature
This commit is contained in:
39
work/artifacts/F-075/implementer.md
Normal file
39
work/artifacts/F-075/implementer.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 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)
|
||||
```
|
||||
Reference in New Issue
Block a user