|
let main_parent = document.getElementById('chat-tab').parentNode; |
|
let extensions = document.getElementById('extensions'); |
|
|
|
main_parent.childNodes[0].classList.add("header_bar"); |
|
main_parent.style = "padding: 0; margin: 0"; |
|
main_parent.parentNode.parentNode.style = "padding: 0"; |
|
|
|
document.querySelector('.header_bar').addEventListener('click', function(event) { |
|
if (event.target.tagName === 'BUTTON') { |
|
const buttonText = event.target.textContent.trim(); |
|
|
|
let chat_visible = (buttonText == 'Chat'); |
|
let default_visible = (buttonText == 'Default'); |
|
let notebook_visible = (buttonText == 'Notebook'); |
|
|
|
|
|
if (chat_visible || notebook_visible || default_visible) { |
|
extensions.style.display = 'flex'; |
|
if (chat_visible) { |
|
extensions.style.maxWidth = "800px"; |
|
extensions.style.padding = "0px"; |
|
} else { |
|
extensions.style.maxWidth = "none"; |
|
extensions.style.padding = "15px"; |
|
} |
|
} else { |
|
extensions.style.display = 'none'; |
|
} |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
const textareaElements = document.querySelectorAll('.add_scrollbar textarea'); |
|
for(i = 0; i < textareaElements.length; i++) { |
|
textareaElements[i].classList.remove('scroll-hide'); |
|
textareaElements[i].classList.add('pretty_scrollbar'); |
|
textareaElements[i].style.resize = "none"; |
|
} |
|
|
|
|
|
|
|
|
|
document.addEventListener("keydown", function(event) { |
|
if (event.key === "Escape") { |
|
|
|
var stopButton = document.getElementById("stop"); |
|
if (stopButton) { |
|
stopButton.click(); |
|
} |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
const targetElement = document.getElementById('chat').parentNode.parentNode.parentNode; |
|
|
|
|
|
const observer = new MutationObserver(function(mutations) { |
|
mutations.forEach(function(mutation) { |
|
let childElement = targetElement.childNodes[2].childNodes[0].childNodes[1]; |
|
childElement.scrollTop = childElement.scrollHeight; |
|
}); |
|
}); |
|
|
|
|
|
const config = { |
|
childList: true, |
|
subtree: true, |
|
characterData: true, |
|
attributeOldValue: true, |
|
characterDataOldValue: true |
|
}; |
|
|
|
|
|
observer.observe(targetElement, config); |
|
|
|
|
|
|
|
|
|
document.getElementById('chat-input').parentNode.style.background = 'transparent'; |
|
document.getElementById('chat-input').parentNode.style.border = 'none'; |
|
|