Really-amin commited on
Commit
dcbc8c4
·
verified ·
1 Parent(s): dc4590e

Update script.js

Browse files
Files changed (1) hide show
  1. script.js +34 -48
script.js CHANGED
@@ -1,49 +1,35 @@
1
- document.addEventListener("DOMContentLoaded", function () {
2
- const sendButton = document.getElementById("send-button");
3
- const userInput = document.getElementById("user-input");
4
- const chatMessages = document.getElementById("chat-messages");
5
-
6
- sendButton.addEventListener("click", async function () {
7
- const message = userInput.value.trim();
8
- if (!message) {
9
- alert("لطفاً یک پیام وارد کنید!");
10
- return;
11
- }
12
-
13
- // نمایش پیام کاربر
14
- const userMessage = document.createElement("p");
15
- userMessage.textContent = `You: ${message}`;
16
- chatMessages.appendChild(userMessage);
17
-
18
- // پاک کردن ورودی
19
- userInput.value = "";
20
-
21
- try {
22
- // ارسال پیام به سرور
23
- const response = await fetch("?message=" + encodeURIComponent(message), {
24
- method: "GET",
25
- headers: { "Content-Type": "application/json" },
26
- });
27
-
28
- if (!response.ok) {
29
- throw new Error(`HTTP error! status: ${response.status}`);
30
- }
31
-
32
- const data = await response.json();
33
-
34
- // نمایش پاسخ مدل
35
- const assistantMessage = document.createElement("p");
36
- assistantMessage.textContent = `Assistant: ${data.response}`;
37
- chatMessages.appendChild(assistantMessage);
38
- } catch (error) {
39
- console.error("Error fetching response:", error);
40
- const errorMessage = document.createElement("p");
41
- errorMessage.textContent = "خطایی در دریافت پاسخ از سرور رخ داده است.";
42
- errorMessage.style.color = "red";
43
- chatMessages.appendChild(errorMessage);
44
- }
45
-
46
- // اسکرول به پایین
47
- chatMessages.scrollTop = chatMessages.scrollHeight;
48
- });
49
  });
 
 
 
 
 
 
 
 
 
 
1
+ // تابع ارسال پیام به Streamlit
2
+ function sendMessage() {
3
+ var userInput = document.getElementById("user-input").value;
4
+ document.getElementById("user-input").value = ""; // پاک کردن ورودی
5
+ // اضافه کردن پیام کاربر به لیست پیام‌ها
6
+ var chatMessages = document.getElementById("chat-messages");
7
+ var newMessage = document.createElement("div");
8
+ newMessage.classList.add("message", "user-message");
9
+ newMessage.innerText = userInput;
10
+ chatMessages.appendChild(newMessage);
11
+ // ارسال پیام به Streamlit
12
+ Streamlit.setComponentValue("user-input", userInput);
13
+ }
14
+
15
+ // دریافت پاسخ از Streamlit و نمایش اون
16
+ Streamlit.on('update', function() {
17
+ var response = Streamlit.getComponentValue("response");
18
+ if (response) {
19
+ // اضافه کردن پیام به لیست پیام‌ها
20
+ var chatMessages = document.getElementById("chat-messages");
21
+ var newMessage = document.createElement("div");
22
+ newMessage.classList.add("message", "assistant-message");
23
+ newMessage.innerText = response;
24
+ chatMessages.appendChild(newMessage);
25
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  });
27
+
28
+ // ارسال پیام با فشردن Enter
29
+ var userInput = document.getElementById("user-input");
30
+ userInput.addEventListener("keyup", function(event) {
31
+ if (event.keyCode === 13) {
32
+ event.preventDefault();
33
+ document.getElementById("send-button").click();
34
+ }
35
+ });