1.8 KiB
1.8 KiB
F-134 — Permitir edición de precio/stock/EAN/peso en estado pending
Cambios
apps/admin/src/features/products/components/sections/PriceStockSection.tsx
-
Removido
pendingdel propdisabledde los 4 inputs editables:- Stock input:
disabled={savingStock || pending}→disabled={savingStock} - EAN input:
disabled={savingEan || pending}→disabled={savingEan} - Peso unitario (Gr):
disabled={savingProductMeta || pending}→disabled={savingProductMeta} - Compra mínima:
disabled={savingProductMeta || pending}→disabled={savingProductMeta}
- Stock input:
-
Los botones Guardar precio siguen disabled cuando pending (
disabled={savingPrice || pending}) — no se puede forzar la persistencia sin productId. -
Los handlers
saveStock,saveEan,saveProductMetaya hacían early return cuandopending || !productId, así que aunque el input ya no esté disabled, las llamadas API no se disparan hasta que existe productId.
Comportamiento resultante
Modo pending (/products/new, sin productId)
- Inputs PVP / Coste / Oferta / Neto / Stock / EAN / Peso unitario / Compra mínima: editables
- Botón "Guardar precio": disabled, caption "Se guardará al crear el producto" sigue mostrándose
- onBlur / Enter: handlers early-return sin llamar API
- Estado local se mantiene
Modo edit (/products/:id, con productId)
- Todos los inputs editables
- Botones Guardar habilitados
- onBlur / Enter disparan API como antes
- Sin cambios respecto a F-123
Verificación
cd apps/admin && npx tsc --noEmit→ exit 0.cd apps/admin && NEXT_PUBLIC_API_URL=http://192.168.18.93:3000 npm run build→ exit 0.
Notas
- Sin cambios en backend ni en handlers de save.
- Operador reinicia admin (
./scripts/monolith.sh prod restart) para desplegar.