mirror of
https://github.com/coalaura/whiskr.git
synced 2025-09-08 17:06:42 +00:00
mark retry messages
This commit is contained in:
@@ -150,6 +150,24 @@ body.loading #version {
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.message::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
pointer-events: none;
|
||||||
|
background: rgba(237, 135, 150, 0.2);
|
||||||
|
opacity: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
transition: opacity 150ms;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message.marked::after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
.message.user {
|
.message.user {
|
||||||
align-self: end;
|
align-self: end;
|
||||||
}
|
}
|
||||||
|
@@ -38,6 +38,12 @@
|
|||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mark(index) {
|
||||||
|
for (let x = 0; x < messages.length; x++) {
|
||||||
|
messages[x].mark(Number.isInteger(index) && x >= index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class Message {
|
class Message {
|
||||||
#id;
|
#id;
|
||||||
#role;
|
#role;
|
||||||
@@ -225,21 +231,29 @@
|
|||||||
|
|
||||||
_opts.appendChild(_optRetry);
|
_opts.appendChild(_optRetry);
|
||||||
|
|
||||||
|
_optRetry.addEventListener("mouseenter", () => {
|
||||||
|
const index = this.index(!_assistant ? 1 : 0);
|
||||||
|
|
||||||
|
mark(index);
|
||||||
|
});
|
||||||
|
|
||||||
|
_optRetry.addEventListener("mouseleave", () => {
|
||||||
|
mark(false);
|
||||||
|
});
|
||||||
|
|
||||||
_optRetry.addEventListener("click", () => {
|
_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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_assistant) {
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (messages.length > index) {
|
while (messages.length > index) {
|
||||||
messages[messages.length - 1].delete();
|
messages[messages.length - 1].delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mark(false);
|
||||||
|
|
||||||
generate(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) {
|
getData(full = false) {
|
||||||
const data = {
|
const data = {
|
||||||
role: this.#role,
|
role: this.#role,
|
||||||
|
Reference in New Issue
Block a user