templates/home/forum/chatbot.html.twig line 1

Open in your IDE?
  1. {% extends 'home/homeLayout.html.twig' %} {% block stylesheets %} {{ parent() }}
  2. <link rel="stylesheet" href="{{ asset('css/forum.css') }}?v={{ random() }}"> {% endblock %} {% block body %}
  3. <div class="chatbot_page">
  4.     <div class="container-sm">
  5.         <div class="holder">
  6.             <div>
  7.                 <div class="indicators">
  8.                     <div class="single_in">
  9.                         <img src="{{ asset('images/forum/how.png') }}" alt="">
  10.                         <div class="txt">
  11.                             How
  12.                         </div>
  13.                     </div>
  14.                     <div class="single_in">
  15.                         <img src="{{ asset('images/forum/may i.png') }}" alt="">
  16.                         <div class="txt">
  17.                             may i
  18.                         </div>
  19.                     </div>
  20.                     <div class="single_in">
  21.                         <img src="{{ asset('images/forum/help.png') }}" alt="">
  22.                         <div class="txt">
  23.                             help you ?
  24.                         </div>
  25.                     </div>
  26.                 </div>
  27.                 <div class="list"  id="chatContainer">
  28.                 </div>
  29.             </div>
  30.             <div class="send_box">
  31.                 <input type="text" class="form-control" placeholder="Type your message.... " id="messageInput">
  32.                 <button id="sendMessage">Envoyer</button>
  33.             </div>
  34.         </div>
  35.     </div>
  36. </div>
  37. {% block javascripts %}
  38. <script>
  39. var userImage = "{{ userImage|default(asset('images/cours/person.jpg')) }}";
  40. console.log("fffffffffffffffffffffffff");
  41. document.getElementById("sendMessage").addEventListener("click", function() {
  42.     console.log("clicked!");
  43.     var messageInput = document.getElementById("messageInput");
  44.     var userMessage = messageInput.value;
  45.     if (userMessage.trim() !== '') {
  46.         fetch('{{ path('home_forum_chatbot_action') }}', { 
  47.             method: 'POST',
  48.             headers: {
  49.                 'Content-Type': 'application/json',
  50.                 'X-Requested-With': 'XMLHttpRequest', // Important for Symfony to recognize it as an AJAX request
  51.             },
  52.             body: JSON.stringify({message: userMessage})
  53.         })
  54.         .then(response => response.json())
  55.         .then(data => {
  56.             addMessageToChat(false, userMessage); // Display user's message
  57.             addMessageToChat(true, data.message); // Display bot's response
  58.             messageInput.value = ''; // Clear input field
  59.         })
  60.         .catch(error => console.error('Error:', error));
  61.     }
  62. });
  63. function addMessageToChat(isBot, message) {
  64.     var chatContainer = document.getElementById("chatContainer");
  65.     var messageElement = document.createElement("div");
  66.     messageElement.innerHTML = '<div class="single ' + (isBot ? 'bot' : '') + '"><div class="avatar"><img src="' + (isBot ? '{{ asset("images/forum/chat.jpg") }}' : userImage) + '" alt=""></div><div class="text">' + message + '</div></div>';
  67.     chatContainer.appendChild(messageElement);
  68. }
  69. </script>
  70. {% endblock %}
  71. {% endblock %}