Spaces:
Sleeping
Sleeping
Update static/script.js
Browse files- static/script.js +18 -13
static/script.js
CHANGED
|
@@ -120,15 +120,22 @@ function displayIngredientsList(ingredients) {
|
|
| 120 |
}
|
| 121 |
|
| 122 |
ingredients.forEach(ingredient => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
const button = document.createElement('button');
|
| 124 |
-
button.textContent =
|
| 125 |
button.onclick = () => {
|
| 126 |
-
if (!selectedIngredients.
|
| 127 |
selectedIngredients.push(ingredient);
|
| 128 |
displaySelectedIngredients();
|
| 129 |
}
|
| 130 |
};
|
| 131 |
-
|
|
|
|
|
|
|
| 132 |
});
|
| 133 |
}
|
| 134 |
|
|
@@ -145,17 +152,15 @@ function displaySelectedIngredients() {
|
|
| 145 |
selectedArea = document.createElement('div');
|
| 146 |
selectedArea.className = 'selected-ingredients';
|
| 147 |
chatMessages.appendChild(selectedArea);
|
| 148 |
-
}
|
| 149 |
-
|
| 150 |
-
const textarea = selectedArea.querySelector('textarea') || document.createElement('textarea');
|
| 151 |
-
textarea.value = selectedIngredients.join('\n');
|
| 152 |
-
textarea.onchange = () => {
|
| 153 |
-
selectedIngredients = textarea.value.split('\n').filter(item => item.trim() !== '');
|
| 154 |
-
};
|
| 155 |
-
if (!selectedArea.contains(textarea)) {
|
| 156 |
selectedArea.innerHTML = '';
|
| 157 |
-
selectedArea.appendChild(textarea);
|
| 158 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
}
|
| 160 |
|
| 161 |
function displayOptions(options) {
|
|
@@ -183,8 +188,8 @@ function displayOptions(options) {
|
|
| 183 |
backButton.className = 'option-button';
|
| 184 |
backButton.onclick = () => {
|
| 185 |
conversation.pop(); // Remove last user input
|
| 186 |
-
chatMessages.innerHTML = ''; // Clear previous messages
|
| 187 |
selectedIngredients = []; // Clear selected ingredients
|
|
|
|
| 188 |
conversation.forEach(msg => addMessage(msg.role, msg.message));
|
| 189 |
setTimeout(() => handleResponse(conversation[conversation.length - 1].message), 500);
|
| 190 |
};
|
|
|
|
| 120 |
}
|
| 121 |
|
| 122 |
ingredients.forEach(ingredient => {
|
| 123 |
+
const item = document.createElement('div');
|
| 124 |
+
item.className = 'ingredient-item';
|
| 125 |
+
const img = document.createElement('img');
|
| 126 |
+
img.src = ingredient.image_url || 'https://via.placeholder.com/80'; // Fallback image
|
| 127 |
+
img.alt = ingredient.name;
|
| 128 |
const button = document.createElement('button');
|
| 129 |
+
button.textContent = 'Add';
|
| 130 |
button.onclick = () => {
|
| 131 |
+
if (!selectedIngredients.some(item => item.name === ingredient.name)) {
|
| 132 |
selectedIngredients.push(ingredient);
|
| 133 |
displaySelectedIngredients();
|
| 134 |
}
|
| 135 |
};
|
| 136 |
+
item.appendChild(img);
|
| 137 |
+
item.appendChild(button);
|
| 138 |
+
ingredientsList.appendChild(item);
|
| 139 |
});
|
| 140 |
}
|
| 141 |
|
|
|
|
| 152 |
selectedArea = document.createElement('div');
|
| 153 |
selectedArea.className = 'selected-ingredients';
|
| 154 |
chatMessages.appendChild(selectedArea);
|
| 155 |
+
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 156 |
selectedArea.innerHTML = '';
|
|
|
|
| 157 |
}
|
| 158 |
+
|
| 159 |
+
selectedIngredients.forEach(ingredient => {
|
| 160 |
+
const div = document.createElement('div');
|
| 161 |
+
div.textContent = ingredient.name;
|
| 162 |
+
selectedArea.appendChild(div);
|
| 163 |
+
});
|
| 164 |
}
|
| 165 |
|
| 166 |
function displayOptions(options) {
|
|
|
|
| 188 |
backButton.className = 'option-button';
|
| 189 |
backButton.onclick = () => {
|
| 190 |
conversation.pop(); // Remove last user input
|
|
|
|
| 191 |
selectedIngredients = []; // Clear selected ingredients
|
| 192 |
+
chatMessages.innerHTML = ''; // Clear previous messages
|
| 193 |
conversation.forEach(msg => addMessage(msg.role, msg.message));
|
| 194 |
setTimeout(() => handleResponse(conversation[conversation.length - 1].message), 500);
|
| 195 |
};
|