Spaces:
Sleeping
Sleeping
Update static/script.js
Browse files- static/script.js +22 -15
static/script.js
CHANGED
@@ -105,21 +105,9 @@ function displayIngredientsList(ingredients) {
|
|
105 |
ingredients.forEach(ingredient => {
|
106 |
const item = document.createElement('div');
|
107 |
item.className = 'ingredient-item';
|
108 |
-
// Only use image if provided, otherwise just show name and button
|
109 |
-
const img = ingredient.image_url ? document.createElement('img') : null;
|
110 |
-
if (img) {
|
111 |
-
img.src = ingredient.image_url;
|
112 |
-
img.alt = ingredient.name;
|
113 |
-
img.style.width = '80px';
|
114 |
-
img.style.height = '80px';
|
115 |
-
img.style.objectFit = 'cover';
|
116 |
-
img.style.borderRadius = '5px';
|
117 |
-
item.appendChild(img);
|
118 |
-
}
|
119 |
const name = document.createElement('div');
|
120 |
name.textContent = ingredient.name;
|
121 |
name.style.textAlign = 'center';
|
122 |
-
name.style.marginTop = img ? '5px' : '0';
|
123 |
name.style.fontSize = '12px';
|
124 |
const button = document.createElement('button');
|
125 |
button.textContent = 'Add';
|
@@ -130,7 +118,6 @@ function displayIngredientsList(ingredients) {
|
|
130 |
}
|
131 |
};
|
132 |
item.appendChild(name);
|
133 |
-
if (img) item.appendChild(img); // Add image only if it exists
|
134 |
item.appendChild(button);
|
135 |
ingredientsList.appendChild(item);
|
136 |
});
|
@@ -153,7 +140,27 @@ function displaySelectedIngredients() {
|
|
153 |
|
154 |
selectedIngredients.forEach(ingredient => {
|
155 |
const div = document.createElement('div');
|
156 |
-
div.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
selectedArea.appendChild(div);
|
158 |
});
|
159 |
|
@@ -210,7 +217,7 @@ function sendSelectedIngredients() {
|
|
210 |
}
|
211 |
const ingredientsList = selectedIngredients.map(ing => ing.name).join(', ');
|
212 |
addMessage('user', `Selected ingredients: ${ingredientsList}`);
|
213 |
-
addMessage('bot', `Great! I’ll suggest a recipe with ${ingredientsList}. How about a
|
214 |
selectedIngredients = []; // Reset after sending
|
215 |
displaySelectedIngredients(); // Update the display
|
216 |
}
|
|
|
105 |
ingredients.forEach(ingredient => {
|
106 |
const item = document.createElement('div');
|
107 |
item.className = 'ingredient-item';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
const name = document.createElement('div');
|
109 |
name.textContent = ingredient.name;
|
110 |
name.style.textAlign = 'center';
|
|
|
111 |
name.style.fontSize = '12px';
|
112 |
const button = document.createElement('button');
|
113 |
button.textContent = 'Add';
|
|
|
118 |
}
|
119 |
};
|
120 |
item.appendChild(name);
|
|
|
121 |
item.appendChild(button);
|
122 |
ingredientsList.appendChild(item);
|
123 |
});
|
|
|
140 |
|
141 |
selectedIngredients.forEach(ingredient => {
|
142 |
const div = document.createElement('div');
|
143 |
+
div.style.display = 'flex';
|
144 |
+
div.style.alignItems = 'center';
|
145 |
+
div.style.margin = '5px 0';
|
146 |
+
const nameSpan = document.createElement('span');
|
147 |
+
nameSpan.textContent = ingredient.name;
|
148 |
+
nameSpan.style.flex = '1';
|
149 |
+
const removeButton = document.createElement('button');
|
150 |
+
removeButton.textContent = 'Remove';
|
151 |
+
removeButton.onclick = () => {
|
152 |
+
selectedIngredients = selectedIngredients.filter(item => item.name !== ingredient.name);
|
153 |
+
displaySelectedIngredients();
|
154 |
+
};
|
155 |
+
removeButton.style.marginLeft = '10px';
|
156 |
+
removeButton.style.padding = '2px 8px';
|
157 |
+
removeButton.style.backgroundColor = '#f44336';
|
158 |
+
removeButton.style.color = 'white';
|
159 |
+
removeButton.style.border = 'none';
|
160 |
+
removeButton.style.borderRadius = '5px';
|
161 |
+
removeButton.style.cursor = 'pointer';
|
162 |
+
div.appendChild(nameSpan);
|
163 |
+
div.appendChild(removeButton);
|
164 |
selectedArea.appendChild(div);
|
165 |
});
|
166 |
|
|
|
217 |
}
|
218 |
const ingredientsList = selectedIngredients.map(ing => ing.name).join(', ');
|
219 |
addMessage('user', `Selected ingredients: ${ingredientsList}`);
|
220 |
+
addMessage('bot', `Great! I’ll suggest a recipe with ${ingredientsList}. How about a yogurt-based curry with onions and tomatoes? Let me know if you'd like to adjust!`);
|
221 |
selectedIngredients = []; // Reset after sending
|
222 |
displaySelectedIngredients(); // Update the display
|
223 |
}
|