mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-03-05 12:18:17 +01:00
Save chat scroll position when user input overflows the line
This commit is contained in:
parent
66ec17620f
commit
c0e5d7efae
@ -4436,13 +4436,14 @@ async function read_avatar_load(input) {
|
||||
});
|
||||
|
||||
$(".mes").each(async function () {
|
||||
if ($(this).attr("is_system") == 'true') {
|
||||
const nameMatch = $(this).attr("ch_name") == formData.get('ch_name');
|
||||
if ($(this).attr("is_system") == 'true' && !nameMatch) {
|
||||
return;
|
||||
}
|
||||
if ($(this).attr("is_user") == 'true') {
|
||||
return;
|
||||
}
|
||||
if ($(this).attr("ch_name") == formData.get('ch_name')) {
|
||||
if (nameMatch) {
|
||||
const previewSrc = $("#avatar_load_preview").attr("src");
|
||||
const avatar = $(this).find(".avatar img");
|
||||
avatar.attr('src', default_avatar);
|
||||
|
@ -863,8 +863,12 @@ export function initRossMods() {
|
||||
|
||||
//this makes the chat input text area resize vertically to match the text size (limited by CSS at 50% window height)
|
||||
$('#send_textarea').on('input', function () {
|
||||
const chatBlock = $('#chat');
|
||||
const originalScrollBottom = chatBlock[0].scrollHeight - (chatBlock.scrollTop() + chatBlock.outerHeight());
|
||||
this.style.height = window.getComputedStyle(this).getPropertyValue('min-height');
|
||||
this.style.height = (this.scrollHeight) + 'px';
|
||||
const newScrollTop = chatBlock[0].scrollHeight - (chatBlock.outerHeight() + originalScrollBottom);
|
||||
chatBlock.scrollTop(newScrollTop);
|
||||
});
|
||||
|
||||
//Regenerate if user swipes on the last mesage in chat
|
||||
|
@ -62,11 +62,11 @@ const generateDebounced = debounce(() => generateHypeBot(), 500);
|
||||
* @param {string} text Text to set
|
||||
*/
|
||||
function setHypeBotText(text) {
|
||||
const blockA = $('#chat');
|
||||
var originalScrollBottom = blockA[0].scrollHeight - (blockA.scrollTop() + blockA.outerHeight());
|
||||
const chatBlock = $('#chat');
|
||||
const originalScrollBottom = chatBlock[0].scrollHeight - (chatBlock.scrollTop() + chatBlock.outerHeight());
|
||||
hypeBotBar.html(DOMPurify.sanitize(text));
|
||||
var newScrollTop = blockA[0].scrollHeight - (blockA.outerHeight() + originalScrollBottom);
|
||||
blockA.scrollTop(newScrollTop);
|
||||
const newScrollTop = chatBlock[0].scrollHeight - (chatBlock.outerHeight() + originalScrollBottom);
|
||||
chatBlock.scrollTop(newScrollTop);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user