# F-121 — Quitar restricción "Guarda primero" en precio/stock/EAN ## Cambios - `apps/admin/src/features/products/components/ProductEditor.tsx`: - `ProductEditor` ahora maneja `productId` como state interno que se inicializa desde la prop. - Tras `POST /products` exitoso, en lugar de `router.push('/products/${id}')` (navegación completa), se usa `setProductId(saved.id)` + `router.replace(...)`. - El componente no se desmonta: react re-renderiza con `productId` real, lo que hace que los `useEffect` de `PriceStockSection` e `ImagesSection` se ejecuten y carguen los datos. - El usuario no ve pantalla en blanco ni pierde el state del formulario. ## UX resultante 1. El usuario entra a `/products/new`. 2. Rellena nombre (slug se autogenéra). 3. Pulsa "Guardar cambios". 4. Aparece un toast verde y se desbloquean las secciones Precio/Stock/EAN/Peso/Imágenes. 5. El usuario sigue rellenando precio, stock, EAN, peso, etc. 6. Pulsa "Guardar cambios" otra vez — esta vez se hace `PATCH /products/:id` (no create). ## Evidencia - `apps/admin tsc --noEmit` OK. - `apps/admin build` OK. - El nombre del producto se persiste en la creación (auto-crea la variante `SKU-MV-{id}`). - `setProductId` cambia el prop reactivamente, lo que dispara el `useEffect` de `PriceStockSection`. ## Notas - No se cambia nada del backend. El patrón de "crear variante con `SKU-MV-{id}`" ya existe. - El usuario sigue el modelo de "una sola variante por producto". No se reintroducen múltiples.