import React, { useState, useEffect } from 'react'; import { WizardStep, WizardStepProps } from '../../../ui/WizardModal/WizardModal'; import { ChefHat, Package, ClipboardCheck, CheckCircle2, Loader2, Plus, X, Search } from 'lucide-react'; import { useTenant } from '../../../../stores/tenant.store'; import { recipesService } from '../../../../api/services/recipes'; import { inventoryService } from '../../../../api/services/inventory'; import { IngredientResponse } from '../../../../api/types/inventory'; import { RecipeCreate, RecipeIngredientCreate, MeasurementUnit } from '../../../../api/types/recipes'; import { showToast } from '../../../../utils/toast'; interface WizardDataProps extends WizardStepProps { data: Record; onDataChange: (data: Record) => void; } const RecipeDetailsStep: React.FC = ({ data, onDataChange, onNext }) => { const { currentTenant } = useTenant(); const [recipeData, setRecipeData] = useState({ name: data.name || '', category: data.category || 'bread', yieldQuantity: data.yieldQuantity || '', yieldUnit: data.yieldUnit || 'units', prepTime: data.prepTime || '', finishedProductId: data.finishedProductId || '', instructions: data.instructions || '', }); const [finishedProducts, setFinishedProducts] = useState([]); const [loading, setLoading] = useState(false); useEffect(() => { fetchFinishedProducts(); }, []); const fetchFinishedProducts = async () => { if (!currentTenant?.id) return; setLoading(true); try { const result = await inventoryService.getIngredients(currentTenant.id, { category: 'finished_product' }); setFinishedProducts(result); } catch (err) { console.error('Error loading finished products:', err); } finally { setLoading(false); } }; return (

Detalles de la Receta

setRecipeData({ ...recipeData, name: e.target.value })} placeholder="Ej: Baguette Tradicional" className="w-full px-3 py-2 border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]" />
setRecipeData({ ...recipeData, yieldQuantity: e.target.value })} placeholder="12" className="w-full px-3 py-2 border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]" min="1" />
setRecipeData({ ...recipeData, prepTime: e.target.value })} placeholder="60" className="w-full px-3 py-2 border border-[var(--border-secondary)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]" min="0" />