mirror of
https://github.com/coalaura/whiskr.git
synced 2025-09-09 09:19:54 +00:00
mark retry messages
This commit is contained in:
@@ -38,6 +38,12 @@
|
||||
}, 0);
|
||||
}
|
||||
|
||||
function mark(index) {
|
||||
for (let x = 0; x < messages.length; x++) {
|
||||
messages[x].mark(Number.isInteger(index) && x >= index);
|
||||
}
|
||||
}
|
||||
|
||||
class Message {
|
||||
#id;
|
||||
#role;
|
||||
@@ -225,21 +231,29 @@
|
||||
|
||||
_opts.appendChild(_optRetry);
|
||||
|
||||
_optRetry.addEventListener("mouseenter", () => {
|
||||
const index = this.index(!_assistant ? 1 : 0);
|
||||
|
||||
mark(index);
|
||||
});
|
||||
|
||||
_optRetry.addEventListener("mouseleave", () => {
|
||||
mark(false);
|
||||
});
|
||||
|
||||
_optRetry.addEventListener("click", () => {
|
||||
let index = messages.findIndex((message) => message.#id === this.#id);
|
||||
const index = this.index(!_assistant ? 1 : 0);
|
||||
|
||||
if (index === -1) {
|
||||
if (index === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_assistant) {
|
||||
index++;
|
||||
}
|
||||
|
||||
while (messages.length > index) {
|
||||
messages[messages.length - 1].delete();
|
||||
}
|
||||
|
||||
mark(false);
|
||||
|
||||
generate(false);
|
||||
});
|
||||
|
||||
@@ -446,6 +460,20 @@
|
||||
);
|
||||
}
|
||||
|
||||
index(offset = 0) {
|
||||
const index = messages.findIndex((message) => message.#id === this.#id);
|
||||
|
||||
if (index === -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return index + offset;
|
||||
}
|
||||
|
||||
mark(state = false) {
|
||||
this.#_message.classList.toggle("marked", state);
|
||||
}
|
||||
|
||||
getData(full = false) {
|
||||
const data = {
|
||||
role: this.#role,
|
||||
|
Reference in New Issue
Block a user