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 = async (r) => { setError(null) try { const full = (r.ingredients && r.ingredients.length) || r.ingredient_count === 0 ? r : await api.getNutritionRecipe(r.id) setEditing(full) setOpen(true) } catch (e) { setError(e.message) } } 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 (