better bug fix

This commit is contained in:
MathMan05 2024-08-20 10:51:23 -05:00
parent 3de40285d2
commit a2abc91a2a
2 changed files with 29 additions and 12 deletions

View file

@ -242,7 +242,12 @@ class Channel {
this.nsfw = json.nsfw;
this.position = json.position;
this.lastreadmessageid = null;
if (json.last_message_id) {
this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message);
}
else {
this.lastmessageid = null;
}
this.setUpInfiniteScroller();
}
isAdmin() {
@ -267,7 +272,8 @@ class Channel {
if (!this.hasPermission("VIEW_CHANNEL")) {
return false;
}
return this.lastmessageid !== this.lastreadmessageid && this.type !== 4 && !this.lastmessageid;
console.log(this.lastmessageid, !!this.lastmessageid, ":3");
return this.lastmessageid !== this.lastreadmessageid && this.type !== 4 && !!this.lastmessageid;
}
hasPermission(name, member = this.guild.member) {
if (member.isAdmin()) {
@ -653,12 +659,13 @@ class Channel {
const prom = this.infinite.delete();
history.pushState(null, "", "/channels/" + this.guild_id + "/" + this.snowflake);
document.getElementById("channelname").textContent = "#" + this.name;
const channelTopic = document.getElementById("channelTopic");
if (this.topic) {
document.getElementById("channelTopic").innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML;
document.getElementById("channelTopic").removeAttribute("hidden");
channelTopic.innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML;
channelTopic.removeAttribute("hidden");
}
else
document.getElementById("channelTopic").setAttribute("hidden", "");
channelTopic.setAttribute("hidden", "");
const loading = document.getElementById("loadingdiv");
Channel.regenLoadingMessages();
loading.classList.add("loading");
@ -1016,7 +1023,9 @@ class Channel {
const messagez = new Message(messagep.d, this);
this.lastmessage = messagez;
console.log(this.lastmessageid, messagez.snowflake, ":3");
if (this.lastmessageid) {
this.idToNext.set(this.lastmessageid, messagez.snowflake);
}
this.idToPrev.set(messagez.snowflake, this.lastmessageid);
this.lastmessageid = messagez.snowflake;
this.messageids.set(messagez.snowflake, messagez);

View file

@ -253,7 +253,11 @@ class Channel{
this.nsfw=json.nsfw;
this.position=json.position;
this.lastreadmessageid=null;
if(json.last_message_id){
this.lastmessageid=SnowFlake.getSnowFlakeFromID(json.last_message_id,Message);
}else{
this.lastmessageid=null;
}
this.setUpInfiniteScroller();
}
isAdmin(){
@ -276,7 +280,8 @@ class Channel{
}
get hasunreads():boolean{
if(!this.hasPermission("VIEW_CHANNEL")){return false;}
return this.lastmessageid!==this.lastreadmessageid&&this.type!==4&&!this.lastmessageid;
console.log(this.lastmessageid,!!this.lastmessageid,":3")
return this.lastmessageid!==this.lastreadmessageid&&this.type!==4&&!!this.lastmessageid;
}
hasPermission(name:string,member=this.guild.member):boolean{
if(member.isAdmin()){
@ -659,10 +664,11 @@ class Channel{
history.pushState(null, "","/channels/"+this.guild_id+"/"+this.snowflake);
(document.getElementById("channelname") as HTMLSpanElement).textContent="#"+this.name;
const channelTopic=document.getElementById("channelTopic") as HTMLSpanElement;
if (this.topic) {
document.getElementById("channelTopic").innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML;
document.getElementById("channelTopic").removeAttribute("hidden");
} else document.getElementById("channelTopic").setAttribute("hidden","");
channelTopic.innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML;
channelTopic.removeAttribute("hidden");
} else channelTopic.setAttribute("hidden","");
const loading=document.getElementById("loadingdiv") as HTMLDivElement;
Channel.regenLoadingMessages();
@ -1004,7 +1010,9 @@ class Channel{
const messagez=new Message(messagep.d,this);
this.lastmessage=messagez;
console.log(this.lastmessageid,messagez.snowflake,":3");
if(this.lastmessageid){
this.idToNext.set(this.lastmessageid,messagez.snowflake);
}
this.idToPrev.set(messagez.snowflake,this.lastmessageid);
this.lastmessageid=messagez.snowflake;
this.messageids.set(messagez.snowflake,messagez);