const urlParams = new URLSearchParams(window.location.search);
const recipeId = urlParams.get('id');
if (!recipeId) {
window.location.href = '/index.html';
}
async function loadRecipe() {
try {
const response = await fetch(`/api/recipes/${recipeId}`);
if (!response.ok) throw new Error('Rezept nicht gefunden');
const recipe = await response.json();
displayRecipe(recipe);
} catch (error) {
console.error('Fehler:', error);
alert('Fehler beim Laden des Rezepts');
window.location.href = '/index.html';
}
}
function displayRecipe(recipe) {
const rNummer = 'R' + String(recipe.rezeptnummer).padStart(3, '0');
document.getElementById('rezeptnummer').textContent = rNummer;
document.getElementById('bezeichnung').textContent = recipe.bezeichnung;
document.getElementById('beschreibung').innerHTML = makeClickableLinks(recipe.beschreibung || '');
if (recipe.bilder && recipe.bilder.length > 0) {
document.getElementById('hauptbild').innerHTML =
``;
}
if (recipe.vorbereitung && recipe.vorbereitung.trim()) {
document.getElementById('vorbereitung').innerHTML =
`
Vorbereitung: ${makeClickableLinks(recipe.vorbereitung)}`;
}
if (recipe.zutaten && recipe.zutaten.trim()) {
let header = '
Zutaten';
if (recipe.anzahl) {
header += ` für ${recipe.anzahl} Personen:`;
}
document.getElementById('zutatenHeader').innerHTML = header;
document.getElementById('zutaten').textContent = recipe.zutaten;
} else {
document.getElementById('zutatenContainer').style.display = 'none';
}
if (recipe.zubereitung && recipe.zubereitung.length > 0) {
const maxSteps = Math.max(recipe.zubereitung.length, recipe.bilder ? recipe.bilder.length - 1 : 0);
let html = '';
for (let i = 0; i < maxSteps; i++) {
const step = recipe.zubereitung[i];
const bild = recipe.bilder && recipe.bilder[i + 1] ? recipe.bilder[i + 1] : null;
html += '
Kommentar ${makeClickableLinks(recipe.kommentar)} |