diff --git a/frontend/src/components/domain/onboarding/steps/UploadSalesDataStep.tsx b/frontend/src/components/domain/onboarding/steps/UploadSalesDataStep.tsx index 814e0a51..ffbd3748 100644 --- a/frontend/src/components/domain/onboarding/steps/UploadSalesDataStep.tsx +++ b/frontend/src/components/domain/onboarding/steps/UploadSalesDataStep.tsx @@ -624,11 +624,11 @@ export const UploadSalesDataStep: React.FC = ({ {inventoryItems.length > 0 ? (
{inventoryItems.map((item) => ( -
-
+
+ {/* Show ingredient card only if NOT editing this item */} + {editingId !== item.id && ( +
+
@@ -828,6 +828,205 @@ export const UploadSalesDataStep: React.FC = ({
); })()} +
+ )} + + {/* Inline Edit Form - show only when editing this specific ingredient */} + {editingId === item.id && ( +
+

+ Editar Ingrediente +

+
+
+
+ + setFormData({ ...formData, name: e.target.value })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + placeholder="Ej: Harina de trigo" + /> + {formErrors.name && ( +

{formErrors.name}

+ )} +
+ +
+ + + {formErrors.category && ( +

{formErrors.category}

+ )} +
+ +
+ + +
+ +
+ + setFormData({ ...formData, stock_quantity: parseFloat(e.target.value) || 0 })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + /> + {formErrors.stock_quantity && ( +

{formErrors.stock_quantity}

+ )} +
+ +
+ + setFormData({ ...formData, cost_per_unit: parseFloat(e.target.value) || 0 })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + /> + {formErrors.cost_per_unit && ( +

{formErrors.cost_per_unit}

+ )} +
+ +
+ + setFormData({ ...formData, estimated_shelf_life_days: parseInt(e.target.value) || 30 })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + /> + {formErrors.estimated_shelf_life_days && ( +

{formErrors.estimated_shelf_life_days}

+ )} +
+ +
+ + setFormData({ ...formData, low_stock_threshold: parseInt(e.target.value) || 0 })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + /> +
+ +
+ + setFormData({ ...formData, reorder_point: parseInt(e.target.value) || 0 })} + className="w-full px-3 py-2 bg-[var(--bg-primary)] border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] text-[var(--text-primary)]" + /> +
+
+ +
+ + + +
+ +
+ +