From 32cc8d6cd26f1276cf7b48e15c10ba3e4c6d47ad Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Wed, 12 Nov 2025 19:46:05 +0000 Subject: [PATCH] 4 --- api/save_recipe.php | 30 +- assets/css/custom.css | 220 ++++-- assets/js/main.js | 731 ++++++++++++-------- assets/pasted-20251109-215032-744d90f1.jpg | Bin 0 -> 27428 bytes assets/vm-shot-2025-11-09T21-50-13-547Z.jpg | Bin 0 -> 89541 bytes index.php | 154 +++-- 6 files changed, 690 insertions(+), 445 deletions(-) create mode 100644 assets/pasted-20251109-215032-744d90f1.jpg create mode 100644 assets/vm-shot-2025-11-09T21-50-13-547Z.jpg diff --git a/api/save_recipe.php b/api/save_recipe.php index dbd8455..e6f783b 100644 --- a/api/save_recipe.php +++ b/api/save_recipe.php @@ -14,13 +14,31 @@ $pdo = db(); try { $pdo->beginTransaction(); - $stmt = $pdo->prepare("INSERT INTO recipes (name, guests) VALUES (?, ?)"); - $stmt->execute([$data['name'], $data['guests']]); - $recipeId = $pdo->lastInsertId(); + if (isset($data['id']) && !empty($data['id'])) { + // Update existing recipe + $recipeId = $data['id']; + $stmt = $pdo->prepare("UPDATE recipes SET name = ?, guests = ? WHERE id = ?"); + $stmt->execute([$data['name'], $data['guests'], $recipeId]); - $stmt = $pdo->prepare("INSERT INTO ingredients (recipe_id, name, quantity, unit) VALUES (?, ?, ?, ?)"); - foreach ($data['ingredients'] as $ing) { - $stmt->execute([$recipeId, $ing['name'], $ing['quantity'], $ing['unit']]); + // Easiest way to handle ingredients is to delete old ones and insert new ones + $stmt = $pdo->prepare("DELETE FROM ingredients WHERE recipe_id = ?"); + $stmt->execute([$recipeId]); + + $stmt = $pdo->prepare("INSERT INTO ingredients (recipe_id, name, quantity, unit) VALUES (?, ?, ?, ?)"); + foreach ($data['ingredients'] as $ing) { + $stmt->execute([$recipeId, $ing['name'], $ing['quantity'], $ing['unit']]); + } + + } else { + // Insert new recipe + $stmt = $pdo->prepare("INSERT INTO recipes (name, guests) VALUES (?, ?)"); + $stmt->execute([$data['name'], $data['guests']]); + $recipeId = $pdo->lastInsertId(); + + $stmt = $pdo->prepare("INSERT INTO ingredients (recipe_id, name, quantity, unit) VALUES (?, ?, ?, ?)"); + foreach ($data['ingredients'] as $ing) { + $stmt->execute([$recipeId, $ing['name'], $ing['quantity'], $ing['unit']]); + } } $pdo->commit(); diff --git a/assets/css/custom.css b/assets/css/custom.css index bec5b1d..d3f6b5c 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -1,6 +1,6 @@ /* General Body Styles */ body { - background-color: #0a2e36; /* Dark teal background */ + background-color: #013617; /* Dark green background */ color: #ffffff; /* White text */ font-family: 'Poppins', sans-serif; padding-top: 40px; /* Make space for garland */ @@ -11,67 +11,13 @@ h1, h2, h3, h4, h5, h6 { color: #ffffff !important; /* Use !important to override other styles if necessary */ } -/* Christmas Tree */ -.christmas-tree-container { - position: fixed; - bottom: 0; - width: 100px; - height: 150px; - z-index: 100; +/* Buttons and Inputs */ +input, +button, +.btn { + border-radius: 8px !important; } -.christmas-tree-container.left { - left: 20px; -} - -.christmas-tree-container.right { - right: 20px; -} - -.tree { - position: relative; - width: 100%; - height: 100%; -} - -.tree::before { /* The tree itself */ - content: ''; - position: absolute; - bottom: 30px; /* Height of the trunk */ - left: 0; - width: 0; - height: 0; - border-left: 50px solid transparent; - border-right: 50px solid transparent; - border-bottom: 120px solid #2C5F2D; /* Dark green */ -} - -.tree::after { /* The trunk */ - content: ''; - position: absolute; - bottom: 0; - left: 50%; - transform: translateX(-50%); - width: 20px; - height: 30px; - background: #5C3D2E; /* Brown */ -} - -.ornament { - position: absolute; - width: 10px; - height: 10px; - border-radius: 50%; - background: #ff6f61; /* Coral red */ -} - -.ornament.o1 { top: 50px; left: 45px; } -.ornament.o2 { top: 70px; left: 30px; background: #ffff24; } -.ornament.o3 { top: 75px; left: 60px; background: #2424ff; } -.ornament.o4 { top: 95px; left: 40px; } -.ornament.o5 { top: 100px; left: 15px; background: #24ff24;} -.ornament.o6 { top: 105px; left: 70px; background: #ff24ff;} - /* Garland */ body::before { @@ -82,9 +28,9 @@ body::before { width: 110%; height: 20px; background: - radial-gradient(circle, #ff2424 4px, transparent 5px), - radial-gradient(circle, #24ff24 4px, transparent 5px), - radial-gradient(circle, #2424ff 4px, transparent 5px), + radial-gradient(circle, #FF3E1F 4px, transparent 5px), + radial-gradient(circle, #013617 4px, transparent 5px), + radial-gradient(circle, #FFAFCA 4px, transparent 5px), radial-gradient(circle, #ffff24 4px, transparent 5px), radial-gradient(circle, #ff24ff 4px, transparent 5px); background-size: 100px 20px; @@ -103,7 +49,7 @@ body::before { /* Navbar */ .navbar { - background-color: rgba(10, 46, 54, 0.8) !important; /* Semi-transparent dark teal */ + background-color: rgba(1, 54, 23, 0.8) !important; /* Semi-transparent dark green */ backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } @@ -143,13 +89,12 @@ body::before { background-color: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.1); color: #ffffff; - border-radius: 8px; } .form-control:focus { background-color: rgba(0, 0, 0, 0.3); - border-color: #ff6f61; /* Coral red accent */ - box-shadow: 0 0 0 0.25rem rgba(255, 111, 97, 0.25); + border-color: #FF3E1F; /* Coral red accent */ + box-shadow: 0 0 0 0.25rem rgba(255, 62, 31, 0.25); color: #ffffff; } @@ -159,19 +104,18 @@ body::before { /* Buttons */ .btn-primary { - background-color: #ff6f61; /* Coral red */ - border-color: #ff6f61; + background-color: #FF3E1F; /* Coral red */ + border-color: #FF3E1F; font-weight: 600; padding: 12px 30px; - border-radius: 50px; transition: all 0.3s ease; } .btn-primary:hover { - background-color: #e65a50; - border-color: #e65a50; + background-color: #E6381A; + border-color: #E6381A; transform: translateY(-2px); - box-shadow: 0 4px 15px rgba(255, 111, 97, 0.2); + box-shadow: 0 4px 15px rgba(255, 62, 31, 0.2); } .btn-outline-secondary { @@ -179,7 +123,6 @@ body::before { color: #ffffff; font-weight: 600; padding: 12px 30px; - border-radius: 50px; transition: all 0.3s ease; } @@ -208,6 +151,36 @@ body::before { margin-bottom: 15px; } +/* 3-Column Layout Adjustments */ +.row.g-4 > [class*='col-'] .card { + height: 100%; /* Make cards in columns equal height */ +} + +#recipe-cards-container, #shopping-list-container { + max-height: 60vh; /* Adjust as needed */ + overflow-y: auto; + padding: 10px; +} + +/* Custom scrollbar for webkit browsers */ +#recipe-cards-container::-webkit-scrollbar, #shopping-list-container::-webkit-scrollbar { + width: 8px; +} + +#recipe-cards-container::-webkit-scrollbar-track, #shopping-list-container::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.2); + border-radius: 4px; +} + +#recipe-cards-container::-webkit-scrollbar-thumb, #shopping-list-container::-webkit-scrollbar-thumb { + background: rgba(255, 62, 31, 0.5); /* Coral red, semi-transparent */ + border-radius: 4px; +} + +#recipe-cards-container::-webkit-scrollbar-thumb:hover, #shopping-list-container::-webkit-scrollbar-thumb:hover { + background: #FF3E1F; /* Coral red */ +} + /* Footer */ footer.bg-light { background-color: transparent !important; @@ -234,7 +207,7 @@ footer.bg-light { border-radius: 50%; opacity: 0.8; pointer-events: none; - animation: fall linear infinite; +animation: fall linear infinite; } @keyframes fall { @@ -243,3 +216,100 @@ footer.bg-light { opacity: 0; } } + +/* Shopping List Checkbox */ +.list-group-item.checked .form-check-label { + text-decoration: line-through; + opacity: 0.6; +} + +.unit-btn { + padding: 0.375rem 0.5rem; + font-size: 0.875rem; +} + +/* Adjust padding for the remove button in the ingredient row */ +.ingredient-row .remove-ingredient { + padding: 0.375rem 0.75rem; +} + +/* Custom Shopping List Styles */ +.col-md-4:has(#shopping-list-container) .card { + background-color: transparent; + box-shadow: none !important; + border: 1px solid rgba(255, 255, 255, 0.1); +} + +#shopping-list-container .list-group-item { + background-color: transparent; + color: #ffffff; + border-color: rgba(255, 255, 255, 0.1) !important; +} + +/* Custom Checkbox Styles */ +.form-check-input { + background-color: transparent; + border: 1px solid #ffffff; +} + +.form-check-input:checked { + background-color: #FF3E1F; + border-color: #FF3E1F; +} + +.form-check-input:focus { + border-color: #FF3E1F; + box-shadow: 0 0 0 0.25rem rgba(255, 62, 31, 0.25); +} + +@media print { + body * { + visibility: hidden; + } + #shopping-list-container, #shopping-list-container * { + visibility: visible; + } + #shopping-list-container { + position: absolute; + left: 0; + top: 0; + width: 100%; + } + .card { + border: none !important; + box-shadow: none !important; + } + .list-group-item { + color: #000 !important; + background-color: #fff !important; + } + .badge { + color: #000 !important; + background-color: #fff !important; + border: 1px solid #ccc; + } + .form-check-input { + border: 1px solid #000 !important; + } + h2, h3 { + color: #000 !important; + } +} + +.bg-custom-green { + background-color: #013617 !important; +} + +/* Modal Styles */ +#recipe-form-modal .modal-content { + background-color: #013617; + color: white; +} + +#recipe-form-modal .modal-header { + border-bottom: 1px solid rgba(255, 255, 255, 0.2); +} + +#recipe-form-modal .btn-close { + filter: invert(1); +} diff --git a/assets/js/main.js b/assets/js/main.js index b02f1b0..b1bf3d6 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1,319 +1,466 @@ -document.addEventListener('DOMContentLoaded', function () { - - // --- Snowflakes Effect --- - function createSnowflakes() { - const snowContainer = document.getElementById('snow-container'); - if (!snowContainer) return; - - snowContainer.innerHTML = ''; - - const numberOfSnowflakes = 50; - - for (let i = 0; i < numberOfSnowflakes; i++) { - const snowflake = document.createElement('div'); - snowflake.className = 'snowflake'; - - const size = Math.random() * 4 + 2; // size from 2px to 6px - snowflake.style.width = `${size}px`; - snowflake.style.height = `${size}px`; - - snowflake.style.left = Math.random() * 100 + 'vw'; - - const animationDuration = Math.random() * 5 + 5; // 5 to 10 seconds - snowflake.style.animationDuration = `${animationDuration}s`; - - const animationDelay = Math.random() * 5; // 0 to 5 seconds - snowflake.style.animationDelay = `${animationDelay}s`; - - snowflake.style.opacity = Math.random() * 0.7 + 0.3; // 0.3 to 1.0 - - snowContainer.appendChild(snowflake); - } - } - createSnowflakes(); - - // --- DOM Elements --- - const recipeNameInput = document.getElementById('recipeName'); - const guestCountInput = document.getElementById('guestCount'); - const ingredientsContainer = document.getElementById('ingredients-container'); - const addIngredientBtn = document.getElementById('add-ingredient'); - const calculateBtn = document.getElementById('calculate-btn'); - const newRecipeBtn = document.getElementById('new-recipe-btn'); - const shoppingListContainer = document.getElementById('shopping-list-container'); - const recipeCardsContainer = document.getElementById('recipe-cards-container'); - - // --- Core Functions --- - - async function loadRecipes() { - try { - const response = await fetch('api/get_recipes.php'); - const data = await response.json(); - if (data.success) { - renderRecipeCards(data.recipes); - } else { - console.error('Failed to load recipes:', data.error); - recipeCardsContainer.innerHTML = '

Error loading recipes.

'; - } - } catch (error) { - console.error('Error:', error); - recipeCardsContainer.innerHTML = '

Could not connect to the server.

'; - } - } - - function addIngredientRow(ingredient = { name: '', quantity: '', unit: '' }) { - const row = document.createElement('div'); - row.className = 'ingredient-row mb-2'; - row.innerHTML = ` - - - - - `; - ingredientsContainer.appendChild(row); - } - - function clearForm() { - recipeNameInput.value = ''; - guestCountInput.value = '1'; - ingredientsContainer.innerHTML = ''; - addIngredientRow(); - shoppingListContainer.innerHTML = ` -
-

Your Shopping List

-

Your calculated list will appear here.

-
- `; - } - - function renderRecipeCards(recipes) { - recipeCardsContainer.innerHTML = ''; - if (!recipes || recipes.length === 0) { - recipeCardsContainer.innerHTML = '

Здесь будут появляться ваши сохраненные рецепты.

'; - return; - } - - recipes.forEach(recipe => { - const cardCol = document.createElement('div'); - cardCol.className = 'col-lg-4 col-md-6 mb-4'; - cardCol.setAttribute('data-id', recipe.id); - - const card = document.createElement('div'); - card.className = 'card h-100'; - - const cardBody = document.createElement('div'); - cardBody.className = 'card-body d-flex flex-column'; - - const title = document.createElement('h5'); - title.className = 'card-title'; - title.textContent = recipe.name; - - const subtitle = document.createElement('h6'); - subtitle.className = 'card-subtitle mb-2 text-muted'; - subtitle.textContent = `${recipe.guests} guest(s)`; - - const text = document.createElement('p'); - text.className = 'card-text'; - text.textContent = `${recipe.ingredients.length} ingredients`; - - const buttonGroup = document.createElement('div'); - buttonGroup.className = 'mt-auto'; - buttonGroup.innerHTML = ` - - - `; - - cardBody.appendChild(title); - cardBody.appendChild(subtitle); - cardBody.appendChild(text); - cardBody.appendChild(buttonGroup); - card.appendChild(cardBody); - cardCol.appendChild(card); - recipeCardsContainer.appendChild(cardCol); - }); - } - - function renderShoppingList(list) { - let html = '

Общий список покупок


'; - if (list.length === 0) { - html += '

Нет ингредиентов для расчета.

'; - } else { - html += ''; - } - shoppingListContainer.innerHTML = html; - } - - function getRecipeDataFromForm() { - const recipeName = recipeNameInput.value.trim(); - const guests = parseInt(guestCountInput.value, 10) || 0; - - const ingredients = []; - const rows = ingredientsContainer.querySelectorAll('.ingredient-row'); - rows.forEach(row => { - const name = row.querySelector('input[placeholder="Ingredient Name"]').value.trim(); - const qty = parseFloat(row.querySelector('input[placeholder="Qty"]').value); - const unit = row.querySelector('input[placeholder="Unit (e.g., grams, ml)"]').value.trim(); - if (name && !isNaN(qty) && qty > 0) { - ingredients.push({ name, quantity: qty, unit }); - } - }); - - if (recipeName && guests > 0 && ingredients.length > 0) { - return { name: recipeName, guests, ingredients }; - } - return null; - } - - // --- Event Listeners --- - - addIngredientBtn.addEventListener('click', () => addIngredientRow()); - - ingredientsContainer.addEventListener('click', function(e) { - if (e.target.classList.contains('remove-ingredient')) { - e.target.closest('.ingredient-row').remove(); - } - }); - - recipeCardsContainer.addEventListener('click', async function(e) { - const target = e.target; - const card = target.closest('.col-lg-4'); - if (!card) return; - - const recipeId = card.getAttribute('data-id'); - - if (target.classList.contains('delete-recipe-btn')) { - if (confirm('Are you sure you want to delete this recipe?')) { - try { - const response = await fetch('api/delete_recipe.php', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ id: recipeId }) - }); - const data = await response.json(); - if (data.success) { - card.remove(); - } else { - alert('Failed to delete recipe: ' + data.error); - } - } catch (error) { - alert('Error: ' + error.message); +const app = { + dom: {}, + state: { + recipes: [], + }, + api: { + async getRecipes() { + try { + const response = await fetch('api/get_recipes.php'); + const data = await response.json(); + if (data.success) { + app.state.recipes = data.recipes; + } else { + console.error('Failed to load recipes:', data.error); + app.dom.recipeCardsContainer.innerHTML = '

Error loading recipes.

'; } + } catch (error) { + console.error('Error:', error); + app.dom.recipeCardsContainer.innerHTML = '

Could not connect to the server.

'; } - } - - if (target.classList.contains('edit-recipe-btn')) { - // Find the recipe data from the currently rendered cards - const response = await fetch('api/get_recipes.php'); - const data = await response.json(); - if(!data.success) return; - const recipeToEdit = data.recipes.find(r => r.id == recipeId); - - if (recipeToEdit) { - // Populate form - recipeNameInput.value = recipeToEdit.name; - guestCountInput.value = recipeToEdit.guests; - ingredientsContainer.innerHTML = ''; - recipeToEdit.ingredients.forEach(ing => addIngredientRow(ing)); - - // Delete the old recipe from DB - try { - await fetch('api/delete_recipe.php', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ id: recipeId }) - }); - card.remove(); // Remove from UI immediately - } catch (error) { - alert('Error preparing for edit: ' + error.message); - } - } - } - }); - - newRecipeBtn.addEventListener('click', async function() { - const recipeData = getRecipeDataFromForm(); - if (recipeData) { + }, + async saveRecipe(recipeData) { try { const response = await fetch('api/save_recipe.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(recipeData) }); + return await response.json(); + } catch (error) { + alert('Error: ' + error.message); + return { success: false, error: error.message }; + } + }, + async deleteRecipe(id) { + try { + const response = await fetch('api/delete_recipe.php', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id: id }) + }); const data = await response.json(); if (data.success) { - await loadRecipes(); // Reload all recipes to show the new one - clearForm(); + await app.api.getRecipes(); + app.ui.renderRecipeCards(app.state.recipes); + app.ui.updateShoppingList(); } else { - alert('Failed to save recipe: ' + data.error); + alert('Failed to delete recipe: ' + data.error); } } catch (error) { alert('Error: ' + error.message); } - } else { - alert('Please fill out the recipe name, guests, and at least one ingredient before saving.'); } - }); + }, + ui: { + renderRecipeCards(recipes) { + app.dom.recipeCardsContainer.innerHTML = ''; + if (!recipes || recipes.length === 0) { + app.dom.recipeCardsContainer.innerHTML = '

Your saved recipes will appear here.

'; + return; + } - calculateBtn.addEventListener('click', async function() { - try { - const response = await fetch('api/get_recipes.php'); - const data = await response.json(); - if (!data.success) { - alert('Could not get recipes for calculation.'); - return; - } - - const allRecipesToCalculate = data.recipes; - const currentRecipe = getRecipeDataFromForm(); - - if (currentRecipe) { - // Give it a temporary ID to avoid collisions - currentRecipe.id = 'current'; - allRecipesToCalculate.push(currentRecipe); - } - - if (allRecipesToCalculate.length === 0) { - alert('There are no recipes to calculate. Please fill out the form or save a recipe.'); - return; - } - - const combinedIngredients = new Map(); - - allRecipesToCalculate.forEach(recipe => { - const multiplier = recipe.guests; - recipe.ingredients.forEach(ing => { - const ingName = ing.name || ''; - const ingUnit = ing.unit || ''; - const key = `${ingName.trim().toLowerCase()}|${ingUnit.trim().toLowerCase()}`; - const existing = combinedIngredients.get(key); - + recipes.forEach(recipe => { + const cardCol = document.createElement('div'); + cardCol.className = 'col-12 mb-3'; + cardCol.setAttribute('data-id', recipe.id); + + const card = document.createElement('div'); + card.className = 'card h-100'; + + const cardBody = document.createElement('div'); + cardBody.className = 'card-body d-flex flex-column'; + + const title = document.createElement('h5'); + title.className = 'card-title'; + title.textContent = recipe.name; + + const text = document.createElement('p'); + text.className = 'card-text text-muted'; + text.textContent = `${recipe.ingredients.length} ingredients`; + + const buttonGroup = document.createElement('div'); + buttonGroup.className = 'mt-auto pt-2'; + buttonGroup.innerHTML = ` + + + `; + + cardBody.appendChild(title); + cardBody.appendChild(text); + cardBody.appendChild(buttonGroup); + card.appendChild(cardBody); + cardCol.appendChild(card); + app.dom.recipeCardsContainer.appendChild(cardCol); + }); + }, + updateShoppingList() { + const guestCount = parseInt(app.dom.guestCountInput.value, 10) || 1; + const portionsPerGuest = parseInt(app.dom.portionsPerGuestInput.value, 10) || 1; + const totalMultiplier = guestCount * portionsPerGuest; + + const groups = { + Weight: { units: ['g', 'kg'], ingredients: new Map() }, + Volume: { units: ['ml', 'l'], ingredients: new Map() }, + Count: { units: ['piece', 'pack'], ingredients: new Map() }, + Other: { units: [], ingredients: new Map() } + }; + + app.state.recipes.forEach(recipe => { + if (recipe.ingredients) { + recipe.ingredients.forEach(ing => { + const ingName = ing.name || ''; + const ingUnit = ing.unit || ''; + const key = `${ingName.trim().toLowerCase()}|${ingUnit.trim().toLowerCase()}`; + + let groupName = 'Other'; + for (const name in groups) { + if (groups[name].units.includes(ingUnit)) { + groupName = name; + break; + } + } + + const existing = groups[groupName].ingredients.get(key); + + if (existing) { + existing.qty += (ing.quantity || 0); + } else { + groups[groupName].ingredients.set(key, { + name: ing.name, + qty: (ing.quantity || 0), + unit: ing.unit + }); + } + }); + } + }); + + let html = ''; + let totalIngredients = 0; + + if (app.state.additionalProducts) { + app.state.additionalProducts.forEach(prod => { + const key = `${prod.name.trim().toLowerCase()}|${prod.unit.trim().toLowerCase()}`; + let groupName = 'Other'; + for (const name in groups) { + if (groups[name].units.includes(prod.unit)) { + groupName = name; + break; + } + } + + const existing = groups[groupName].ingredients.get(key); if (existing) { - existing.qty += (ing.quantity || 0) * multiplier; + existing.qty += prod.quantity; } else { - combinedIngredients.set(key, { - name: ing.name, - qty: (ing.quantity || 0) * multiplier, - unit: ing.unit + groups[groupName].ingredients.set(key, { + name: prod.name, + qty: prod.quantity, + unit: prod.unit }); } }); + } + + for (const groupName in groups) { + const group = groups[groupName]; + const ingredientList = Array.from(group.ingredients.values()); + + if (ingredientList.length > 0) { + totalIngredients += ingredientList.length; + html += `

${groupName}

`; + html += ''; + } + } + + if (totalIngredients === 0) { + html += '

Your shopping list is empty. Add a recipe, and its ingredients will appear here.

'; + } + + app.dom.shoppingListContainer.innerHTML = html; + }, + addIngredientRow(ingredient = { name: '', quantity: '', unit: 'g' }) { + const row = document.createElement('div'); + row.className = 'ingredient-row mb-3'; + + const units = ['g', 'kg', 'ml', 'l', 'piece', 'pack']; + const unitButtons = units.map(u => + `` + ).join(''); + + row.innerHTML = ` +
+ +
+
+ +
+ ${unitButtons} +
+ +
+ `; + app.dom.ingredientsContainer.appendChild(row); + }, + clearForm() { + app.dom.recipeIdInput.value = ''; + app.dom.recipeNameInput.value = ''; + app.dom.guestCountInput.value = '1'; + app.dom.ingredientsContainer.innerHTML = ''; + app.ui.addIngredientRow(); + app.dom.newRecipeBtn.textContent = 'Save Recipe'; + app.dom.cancelEditBtn.style.display = 'none'; + document.getElementById('recipe-form-modal-label').textContent = 'Add a Recipe'; + }, + populateFormForEdit(recipeId) { + const recipe = app.state.recipes.find(r => r.id == recipeId); + if (!recipe) return; + + app.dom.recipeIdInput.value = recipe.id; + app.dom.recipeNameInput.value = recipe.name; + app.dom.guestCountInput.value = recipe.guests; + + app.dom.ingredientsContainer.innerHTML = ''; + if (recipe.ingredients) { + recipe.ingredients.forEach(ing => app.ui.addIngredientRow(ing)); + } else { + app.ui.addIngredientRow(); + } + + app.dom.newRecipeBtn.textContent = 'Update Recipe'; + app.dom.cancelEditBtn.style.display = 'block'; + document.getElementById('recipe-form-modal-label').textContent = 'Edit Recipe'; + app.dom.recipeFormModal.show(); + + app.dom.recipeNameInput.focus(); + }, + getRecipeDataFromForm() { + const recipeName = app.dom.recipeNameInput.value.trim(); + const guests = parseInt(app.dom.guestCountInput.value, 10) || 0; + + const ingredients = []; + const rows = app.dom.ingredientsContainer.querySelectorAll('.ingredient-row'); + rows.forEach(row => { + const name = row.querySelector('input[placeholder="Ingredient Name"]').value.trim(); + const qty = parseFloat(row.querySelector('input[placeholder="Qty"]').value); + const activeButton = row.querySelector('.unit-selector .btn-secondary'); + const unit = activeButton ? activeButton.textContent.trim() : 'g'; + + if (name && !isNaN(qty) && qty > 0) { + ingredients.push({ name, quantity: qty, unit }); + } + }); + + if (recipeName && guests > 0 && ingredients.length > 0) { + return { name: recipeName, guests, ingredients }; + } + return null; + }, + createSnowflakes() { + const snowContainer = document.getElementById('snow-container'); + if (!snowContainer) return; + snowContainer.innerHTML = ''; + const numberOfSnowflakes = 50; + for (let i = 0; i < numberOfSnowflakes; i++) { + const snowflake = document.createElement('div'); + snowflake.className = 'snowflake'; + const size = Math.random() * 4 + 2; + snowflake.style.width = `${size}px`; + snowflake.style.height = `${size}px`; + snowflake.style.left = Math.random() * 100 + 'vw'; + const animationDuration = Math.random() * 5 + 5; + snowflake.style.animationDuration = `${animationDuration}s`; + const animationDelay = Math.random() * 5; + snowflake.style.animationDelay = `${animationDelay}s`; + snowflake.style.opacity = Math.random() * 0.7 + 0.3; + snowContainer.appendChild(snowflake); + } + } + }, + events: { + attachEventListeners() { + app.dom.addIngredientBtn.addEventListener('click', () => app.ui.addIngredientRow()); + + app.dom.ingredientsContainer.addEventListener('click', function(e) { + if (e.target.classList.contains('remove-ingredient')) { + e.target.closest('.ingredient-row').remove(); + } else if (e.target.classList.contains('unit-btn')) { + const group = e.target.closest('.unit-selector'); + if (group) { + group.querySelectorAll('.unit-btn').forEach(btn => { + btn.classList.remove('btn-secondary'); + btn.classList.add('btn-outline-secondary'); + }); + e.target.classList.remove('btn-outline-secondary'); + e.target.classList.add('btn-secondary'); + } + } }); - renderShoppingList(Array.from(combinedIngredients.values())); + app.dom.newRecipeBtn.addEventListener('click', async function() { + const recipeData = app.ui.getRecipeDataFromForm(); + if (!recipeData) { + alert('Please fill out the recipe name, guests, and at least one ingredient before saving.'); + return; + } - } catch(error) { - alert('Calculation Error: ' + error.message); + const recipeId = app.dom.recipeIdInput.value; + if (recipeId) { + recipeData.id = recipeId; + } + + const data = await app.api.saveRecipe(recipeData); + + if (data.success && data.recipe) { + const savedRecipe = data.recipe; + if (recipeId) { + const index = app.state.recipes.findIndex(r => r.id == recipeId); + if (index !== -1) { + app.state.recipes[index] = savedRecipe; + } + const card = app.dom.recipeCardsContainer.querySelector(`[data-id="${recipeId}"]`); + if (card) { + card.querySelector('.card-title').textContent = savedRecipe.name; + card.querySelector('.card-text').textContent = `${savedRecipe.ingredients.length} ingredients`; + } + } else { + app.state.recipes.unshift(savedRecipe); + app.ui.renderRecipeCards(app.state.recipes); + } + + app.ui.updateShoppingList(); + app.ui.clearForm(); + app.dom.recipeFormModal.hide(); + } else { + alert('Failed to save recipe: ' + data.error); + } + }); + + app.dom.recipeCardsContainer.addEventListener('click', function(e) { + const target = e.target; + const card = target.closest('.col-12[data-id]'); + if (!card) return; + + const recipeId = card.getAttribute('data-id'); + + if (target.classList.contains('delete-recipe')) { + if (confirm('Are you sure you want to delete this recipe?')) { + app.api.deleteRecipe(recipeId); + } + } + + if (target.classList.contains('edit-recipe')) { + app.ui.populateFormForEdit(recipeId); + } + }); + + app.dom.shoppingListContainer.addEventListener('change', function(e) { + if (e.target.matches('.form-check-input')) { + const listItem = e.target.closest('.list-group-item'); + if (listItem) { + listItem.classList.toggle('checked', e.target.checked); + } + } + }); + + app.dom.guestCountInput.addEventListener('input', app.ui.updateShoppingList); + app.dom.portionsPerGuestInput.addEventListener('input', app.ui.updateShoppingList); + + app.dom.cancelEditBtn.addEventListener('click', function() { + app.ui.clearForm(); + app.dom.recipeFormModal.hide(); + }); + + app.dom.recipeSearchInput.addEventListener('input', function() { + const searchTerm = app.dom.recipeSearchInput.value.toLowerCase(); + const filteredRecipes = app.state.recipes.filter(recipe => recipe.name.toLowerCase().includes(searchTerm)); + app.ui.renderRecipeCards(filteredRecipes); + }); + + + + app.dom.printShoppingListBtn.addEventListener('click', function() { + window.print(); + }); + + app.dom.addProductBtn.addEventListener('click', () => { + const name = prompt('Enter product name:'); + if (!name) return; + + const quantity = parseFloat(prompt('Enter quantity:')); + if (isNaN(quantity) || quantity <= 0) { + alert('Please enter a valid quantity.'); + return; + } + + const unit = prompt('Enter unit (e.g., g, kg, ml, l, piece, pack):'); + if (!unit) return; + + if (!app.state.additionalProducts) { + app.state.additionalProducts = []; + } + + app.state.additionalProducts.push({ + name: name.trim(), + quantity: quantity, + unit: unit.trim() + }); + + app.ui.updateShoppingList(); + }); + + document.getElementById('recipe-form-modal').addEventListener('show.bs.modal', function () { + if (!app.dom.recipeIdInput.value) { + app.ui.clearForm(); + } + }); } - }); + }, + init() { + app.dom = { + recipeNameInput: document.getElementById('recipeName'), + guestCountInput: document.getElementById('guestCount'), + portionsPerGuestInput: document.getElementById('portionsPerGuest'), + ingredientsContainer: document.getElementById('ingredients-container'), + addIngredientBtn: document.getElementById('add-ingredient'), + newRecipeBtn: document.getElementById('new-recipe-btn'), + cancelEditBtn: document.getElementById('cancel-edit-btn'), + shoppingListContainer: document.getElementById('shopping-list-container'), + recipeCardsContainer: document.getElementById('recipe-cards-container'), + recipeIdInput: document.getElementById('recipeId'), + recipeSearchInput: document.getElementById('recipe-search'), + addProductBtn: document.getElementById('add-product-btn'), + + printShoppingListBtn: document.getElementById('print-shopping-list-btn'), + recipeFormModal: new bootstrap.Modal(document.getElementById('recipe-form-modal')) + }; - // --- Initial State --- - addIngredientRow(); - loadRecipes(); -}); + app.ui.createSnowflakes(); + app.events.attachEventListeners(); + app.dom.cancelEditBtn.style.display = 'none'; + app.ui.addIngredientRow(); + + app.api.getRecipes().then(() => { + app.ui.renderRecipeCards(app.state.recipes); + app.ui.updateShoppingList(); + }); + } +}; + +document.addEventListener('DOMContentLoaded', app.init); \ No newline at end of file diff --git a/assets/pasted-20251109-215032-744d90f1.jpg b/assets/pasted-20251109-215032-744d90f1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d65a91f436e7abab8f4afe7dbbe90bbc26db1641 GIT binary patch literal 27428 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%0AdbFnxjb1$R|V06Ab?wmB705 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 b + @@ -33,28 +34,6 @@
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-