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 |
};
|