import { useState } from 'react' import { api } from '../utils/api' import FoodRecipeDialog from './FoodRecipeDialog' export default function FoodRecipeEditor({ recipes, learned, onChanged }) { const [open, setOpen] = useState(false) const [editing, setEditing] = useState(null) const [error, setError] = useState(null) const startNew = () => { setEditing('new') setError(null) setOpen(true) } const startEdit = (r) => { setEditing(r) setError(null) setOpen(true) } const save = async (body) => { if (editing === 'new') await api.createNutritionRecipe(body) else await api.updateNutritionRecipe(editing.id, body) setEditing(null) onChanged?.() } const remove = async (id) => { if (!confirm('Liste wirklich löschen?')) return try { await api.deleteNutritionRecipe(id) if (editing && editing !== 'new' && editing.id === id) setEditing(null) onChanged?.() } catch (e) { setError(e.message) } } return (

Eigene Listen / Kombinationen ({recipes.length})

{open && (
{error &&
{error}
} {recipes.map((r) => (
{r.name_raw}
{(r.ingredients || []).length} Zutaten · {r.portions || 1} Portionen {r.source === 'manual' ? ' · selbst angelegt' : ''}
))}
)} {editing === 'new' && ( setEditing(null)} /> )} {editing && editing !== 'new' && ( setEditing(null)} /> )}
) }