You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2 KiB
JavaScript

(function() {
// FUNCTION TO ADJUST TEXTAREA HEIGHT AND SUBMIT BUTTON VISIBILITY
function adjustTextAreaAndButton(textarea, submitButton) {
// Adjust the height of the textarea
if (textarea.value.trim() === '') {
textarea.style.height = '50px';
} else {
textarea.style.height = textarea.scrollHeight + 'px';
}
// Display and hide the submit button
if (textarea.value.trim() === '') {
submitButton.classList.add('hidden');
} else {
submitButton.classList.remove('hidden');
}
}
// INITIALIZE ELEMENTS
const form = document.querySelector('#sendMessage');
const textarea = document.querySelector('#dynamicTextarea');
const conversationContainer = document.getElementById('conversation');
const submitButton = document.getElementById('submitMessageButton');
// EVENT LISTENERS
textarea.addEventListener('input', () => adjustTextAreaAndButton(textarea, submitButton));
form.addEventListener('submit', (event) => {
textarea.style.height = '50px';
submitButton.classList.add('hidden');
setTimeout(() => {
conversationContainer.scrollTop = conversationContainer.scrollHeight;
}, 100);
});
})();