Add files via upload
This commit is contained in:
@@ -159,19 +159,28 @@ function toggleImmersiveMode() {
|
|||||||
|
|
||||||
function bindMessageEvents() {
|
function bindMessageEvents() {
|
||||||
if (state.messageEventsBound) return;
|
if (state.messageEventsBound) return;
|
||||||
|
const onUserMessage = () => {
|
||||||
const refreshOnAI = () => state.isActive && updateMessageDisplay();
|
if (!state.isActive) return;
|
||||||
|
updateMessageDisplay();
|
||||||
messageEvents.on(event_types.MESSAGE_SENT, () => {});
|
scrollToBottom();
|
||||||
messageEvents.on(event_types.MESSAGE_RECEIVED, refreshOnAI);
|
};
|
||||||
messageEvents.on(event_types.MESSAGE_DELETED, refreshOnAI);
|
const onAIMessage = () => {
|
||||||
messageEvents.on(event_types.MESSAGE_UPDATED, refreshOnAI);
|
if (!state.isActive) return;
|
||||||
messageEvents.on(event_types.MESSAGE_SWIPED, refreshOnAI);
|
updateMessageDisplay();
|
||||||
if (event_types.GENERATION_STARTED) {
|
if (getSettings().autoJumpOnAI) {
|
||||||
messageEvents.on(event_types.GENERATION_STARTED, () => {});
|
scrollToBottom();
|
||||||
}
|
}
|
||||||
messageEvents.on(event_types.GENERATION_ENDED, refreshOnAI);
|
};
|
||||||
|
const onMessageChange = () => {
|
||||||
|
if (!state.isActive) return;
|
||||||
|
updateMessageDisplay();
|
||||||
|
};
|
||||||
|
messageEvents.on(event_types.MESSAGE_SENT, onUserMessage);
|
||||||
|
messageEvents.on(event_types.MESSAGE_RECEIVED, onAIMessage);
|
||||||
|
messageEvents.on(event_types.MESSAGE_DELETED, onMessageChange);
|
||||||
|
messageEvents.on(event_types.MESSAGE_UPDATED, onMessageChange);
|
||||||
|
messageEvents.on(event_types.MESSAGE_SWIPED, onMessageChange);
|
||||||
|
messageEvents.on(event_types.GENERATION_ENDED, onAIMessage);
|
||||||
state.messageEventsBound = true;
|
state.messageEventsBound = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,8 +278,12 @@ function showSingleModeMessages() {
|
|||||||
|
|
||||||
const $prevMessage = $targetAI.prevAll('.mes').first();
|
const $prevMessage = $targetAI.prevAll('.mes').first();
|
||||||
if ($prevMessage.length) {
|
if ($prevMessage.length) {
|
||||||
|
|
||||||
|
const isUserMessage = $prevMessage.attr('is_user') === 'true';
|
||||||
|
if (isUserMessage) {
|
||||||
$prevMessage.show();
|
$prevMessage.show();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$targetAI.nextAll('.mes').show();
|
$targetAI.nextAll('.mes').show();
|
||||||
|
|
||||||
@@ -377,13 +390,14 @@ function updateSwipesCounter($targetMes) {
|
|||||||
}
|
}
|
||||||
$swipesCounter.html('1​/​1');
|
$swipesCounter.html('1​/​1');
|
||||||
}
|
}
|
||||||
|
function scrollToBottom() {
|
||||||
const chatContainer = document.getElementById('chat');
|
const chatContainer = document.getElementById('chat');
|
||||||
const chatContainer = document.getElementById('chat');
|
if (!chatContainer) return;
|
||||||
|
|
||||||
|
chatContainer.scrollTop = chatContainer.scrollHeight;
|
||||||
requestAnimationFrame(() => {
|
requestAnimationFrame(() => {
|
||||||
chatContainer.scrollTop = chatContainer.scrollHeight;
|
chatContainer.scrollTop = chatContainer.scrollHeight;
|
||||||
});
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
function toggleDisplayMode() {
|
function toggleDisplayMode() {
|
||||||
if (!state.isActive) return;
|
if (!state.isActive) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user