nagasurendra commited on
Commit
053e585
·
verified ·
1 Parent(s): 5885c76

Update static/script.js

Browse files
Files changed (1) hide show
  1. static/script.js +38 -4
static/script.js CHANGED
@@ -111,13 +111,13 @@ function fetchIngredients(foodPreference) {
111
  });
112
  }
113
 
114
- function fetchMenuItems(category) {
115
  fetch('/get_menu_items', {
116
  method: 'POST',
117
  headers: {
118
  'Content-Type': 'application/json',
119
  },
120
- body: JSON.stringify({ category: category })
121
  })
122
  .then(response => response.json())
123
  .then(data => {
@@ -125,8 +125,19 @@ function fetchMenuItems(category) {
125
  addMessage('bot', `Sorry, there was an error fetching menu items: ${data.error}`);
126
  } else {
127
  const menuItems = data.menu_items || [];
128
- addMessage('bot', 'Here are some dishes based on your selection:');
129
- displayMenuItems(menuItems);
 
 
 
 
 
 
 
 
 
 
 
130
  }
131
  })
132
  .catch(error => {
@@ -134,6 +145,29 @@ function fetchMenuItems(category) {
134
  });
135
  }
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  function displayIngredientsList(ingredients) {
138
  const chatMessages = document.getElementById('chatMessages');
139
  if (!chatMessages) {
 
111
  });
112
  }
113
 
114
+ function fetchMenuItems(ingredient) {
115
  fetch('/get_menu_items', {
116
  method: 'POST',
117
  headers: {
118
  'Content-Type': 'application/json',
119
  },
120
+ body: JSON.stringify({ ingredient: ingredient })
121
  })
122
  .then(response => response.json())
123
  .then(data => {
 
125
  addMessage('bot', `Sorry, there was an error fetching menu items: ${data.error}`);
126
  } else {
127
  const menuItems = data.menu_items || [];
128
+ if (menuItems.length > 0) {
129
+ let menuItemNames = menuItems.map(item => item.name).join(", ");
130
+ addMessage('bot', `Here are some items with ${ingredient}: ${menuItemNames}. Please select one:`);
131
+
132
+ // Create buttons for each menu item to select
133
+ const options = menuItems.map(item => ({
134
+ text: item.name,
135
+ class: 'blue',
136
+ }));
137
+ displayOptions(options);
138
+ } else {
139
+ addMessage('bot', `Sorry, no items found with ${ingredient}.`);
140
+ }
141
  }
142
  })
143
  .catch(error => {
 
145
  });
146
  }
147
 
148
+ function displayOptions(options) {
149
+ const chatMessages = document.getElementById('chatMessages');
150
+ if (!chatMessages) {
151
+ console.error('Chat messages container not found for options!');
152
+ return;
153
+ }
154
+
155
+ options.forEach(opt => {
156
+ const button = document.createElement('button');
157
+ button.textContent = opt.text;
158
+ button.className = `option-button ${opt.class}`;
159
+ button.onclick = () => {
160
+ addMessage('user', opt.text);
161
+ conversation.push({ role: 'user', message: opt.text });
162
+ chatMessages.innerHTML = '';
163
+ conversation.forEach(msg => addMessage(msg.role, msg.message));
164
+ setTimeout(() => handleResponse(opt.text), 500);
165
+ };
166
+ chatMessages.appendChild(button);
167
+ });
168
+ }
169
+
170
+
171
  function displayIngredientsList(ingredients) {
172
  const chatMessages = document.getElementById('chatMessages');
173
  if (!chatMessages) {