more checks for staying at bottom

This commit is contained in:
MathMan05 2024-08-17 13:29:54 -05:00
parent 12ad9c00b9
commit 71dd54fc0e
4 changed files with 27 additions and 7 deletions

View file

@ -53,11 +53,17 @@ class InfiniteScroller {
currrunning = false;
async addedBottom() {
this.updatestuff();
const scrollBottom = this.scrollBottom;
const func = this.snapBottom();
await this.watchForChange();
if (scrollBottom < 30) {
this.scroll.scrollTop = this.scroll.scrollHeight;
}
func();
}
snapBottom() {
const scrollBottom = this.scrollBottom;
return () => {
if (scrollBottom < 30) {
this.scroll.scrollTop = this.scroll.scrollHeight;
}
};
}
async watchForTop() {
let again = false;

View file

@ -103,6 +103,7 @@ class Message {
});
}
giveData(messagejson) {
const func = this.channel.infinite.snapBottom();
for (const thing of Object.keys(messagejson)) {
if (thing === "attachments") {
this.attachments = [];
@ -154,6 +155,7 @@ class Message {
if (this.div) {
this.generateMessage();
}
func();
}
canDelete() {
return this.channel.hasPermission("MANAGE_MESSAGES") || this.author.snowflake === this.localuser.user.snowflake;
@ -389,6 +391,7 @@ class Message {
const reactdiv = this.reactdiv.deref();
if (!reactdiv)
return;
const func = this.channel.infinite.snapBottom();
reactdiv.innerHTML = "";
for (const thing of this.reactions) {
console.log(thing, ":3");
@ -418,6 +421,7 @@ class Message {
this.reactionToggle(thing.emoji.name);
};
}
func();
}
giveReaction(data, member) {
for (const thing of this.reactions) {