Yaswanth56 commited on
Commit
5f73f37
·
verified ·
1 Parent(s): 00bfbaf

Create script.js

Browse files
Files changed (1) hide show
  1. static/script.js +101 -0
static/script.js ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let conversation = [
2
+ { role: 'bot', message: 'Hi there! I'm Chef Bot! May I know your name?' }
3
+ ];
4
+
5
+ function addMessage(role, message) {
6
+ const chatMessages = document.getElementById('chatMessages');
7
+ const messageDiv = document.createElement('div');
8
+ messageDiv.className = role === 'bot' ? 'bot-message' : 'user-message';
9
+ messageDiv.textContent = message;
10
+ chatMessages.appendChild(messageDiv);
11
+ chatMessages.scrollTop = chatMessages.scrollHeight;
12
+ }
13
+
14
+ function sendMessage() {
15
+ const userInput = document.getElementById('userInput').value.trim();
16
+ if (userInput) {
17
+ addMessage('user', userInput);
18
+ conversation.push({ role: 'user', message: userInput });
19
+ document.getElementById('userInput').value = '';
20
+
21
+ setTimeout(() => {
22
+ handleResponse(userInput);
23
+ }, 500);
24
+ }
25
+ }
26
+
27
+ function handleResponse(userInput) {
28
+ const lastMessage = conversation[conversation.length - 1].message.toLowerCase();
29
+ let botResponse = '';
30
+ let options = [];
31
+
32
+ if (conversation.length === 2) { // After name input
33
+ botResponse = `Nice to meet you, ${userInput}! 😊 Let's create your perfect meal! What type of food would you prefer?`;
34
+ options = [
35
+ { text: 'Vegetarian', class: 'green' },
36
+ { text: 'Non-Vegetarian', class: 'red' }
37
+ ];
38
+ } else if (lastMessage.includes('vegetarian')) {
39
+ botResponse = 'Great choice! 🍽️ We have some amazing vegetarian options! What\'s your dietary preference?';
40
+ options = [
41
+ { text: 'Vegan', class: '' },
42
+ { text: 'Gluten-Free', class: '' },
43
+ { text: 'Vegetarian', class: '' },
44
+ { text: 'Low Carb', class: '' },
45
+ { text: 'Dairy-Free', class: '' },
46
+ { text: 'Keto', class: '' },
47
+ { text: 'Halal', class: '' }
48
+ ];
49
+ } else if (lastMessage.includes('non-vegetarian')) {
50
+ botResponse = 'Great choice! 🍽️ We have some amazing non-vegetarian options! What\'s your dietary preference?';
51
+ options = [
52
+ { text: 'Low Carb', class: '' },
53
+ { text: 'Dairy-Free', class: '' },
54
+ { text: 'Keto', class: '' },
55
+ { text: 'Halal', class: '' }
56
+ ];
57
+ } else if (lastMessage.includes('low carb') || lastMessage.includes('dairy-free') || lastMessage.includes('keto') || lastMessage.includes('halal') || lastMessage.includes('gluten-free') || lastMessage.includes('vegan')) {
58
+ botResponse = 'Wonderful choice! 😊 Let\'s pick your favorite ingredients:';
59
+ options = [
60
+ { text: 'Potatoes', class: '' },
61
+ { text: 'Tomatoes', class: '' },
62
+ { text: 'Spinach', class: '' },
63
+ { text: 'Cauliflower', class: '' },
64
+ { text: 'Paneer', class: '' },
65
+ { text: 'Tofu', class: '' }
66
+ ];
67
+ }
68
+
69
+ addMessage('bot', botResponse);
70
+ if (options.length > 0) {
71
+ displayOptions(options);
72
+ }
73
+ }
74
+
75
+ function displayOptions(options) {
76
+ const chatMessages = document.getElementById('chatMessages');
77
+ options.forEach(opt => {
78
+ const button = document.createElement('button');
79
+ button.textContent = opt.text;
80
+ button.className = `option-button ${opt.class}`;
81
+ button.onclick = () => {
82
+ addMessage('user', opt.text);
83
+ conversation.push({ role: 'user', message: opt.text });
84
+ chatMessages.innerHTML = ''; // Clear previous messages
85
+ conversation.forEach(msg => addMessage(msg.role, msg.message));
86
+ setTimeout(() => handleResponse(opt.text), 500);
87
+ };
88
+ chatMessages.appendChild(button);
89
+ });
90
+ chatMessages.appendChild(document.createElement('br'));
91
+ const backButton = document.createElement('button');
92
+ backButton.textContent = 'Go Back';
93
+ backButton.className = 'option-button';
94
+ backButton.onclick = () => {
95
+ conversation.pop(); // Remove last user input
96
+ chatMessages.innerHTML = ''; // Clear previous messages
97
+ conversation.forEach(msg => addMessage(msg.role, msg.message));
98
+ setTimeout(() => handleResponse(conversation[conversation.length - 1].message), 500);
99
+ };
100
+ chatMessages.appendChild(backButton);
101
+ }