From 8044002c06811ea05eeca935ecbac7d5260ffde8 Mon Sep 17 00:00:00 2001 From: Christian Rute Date: Wed, 30 Oct 2024 16:07:52 +0100 Subject: [PATCH] checkpoint chat --- client/js/chat.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/client/js/chat.js b/client/js/chat.js index 43629cb..f88bf99 100644 --- a/client/js/chat.js +++ b/client/js/chat.js @@ -127,3 +127,36 @@ function loadAllChatSessions() { // Beim Laden der Seite alle Chat-Sitzungen laden window.addEventListener('DOMContentLoaded', loadAllChatSessions); + +const chatInput = document.getElementById('chatInput'); + +// Event-Listener für das Senden der Nachricht und das Erstellen eines Zeilenumbruchs +chatInput.addEventListener('keydown', (event) => { + if (event.key === 'Enter') { + // Prüfen, ob die Shift-Taste nicht gedrückt wird + if (!event.shiftKey) { + event.preventDefault(); // Verhindert das Standardverhalten (Absenden des Formulars) + const messageText = chatInput.value.trim(); + if (messageText !== '' && currentChatId !== null) { + const messageElement = document.createElement('div'); + messageElement.classList.add('chat-message', 'user'); + messageElement.innerText = messageText; + document.getElementById('chatBox').prepend(messageElement); + + // Nachricht speichern + saveMessage(currentChatId, messageText); + + // Sidebar-Button für den Chat-Verlauf erstellen, falls noch nicht vorhanden + if (document.getElementById(`chatSession-${currentChatId}`) === null) { + createChatSessionButton(currentChatId); + } + + chatInput.value = ''; // Input-Feld leeren + } + } else { + // Shift + Enter: Zeilenumbruch + chatInput.value += '\n'; // Zeilenumbruch in das Textfeld einfügen + } + } +}); +