Various improvements and checks

This commit is contained in:
MathMan05 2024-08-20 14:17:54 -05:00
parent a2abc91a2a
commit 1608d00beb
30 changed files with 541 additions and 360 deletions

View file

@ -39,12 +39,6 @@ class Direct extends Guild{
this.calculateReorder();
this.printServers();
}
sortchannels(){
this.headchannels.sort((a,b)=>{
const result=(a.lastmessageid.getUnixTime()-b.lastmessageid.getUnixTime());
return Number(-result);
});
}
giveMember(_member:memberjson){
console.error("not a real guild, can't give member object")
}
@ -111,7 +105,10 @@ class Group extends Channel{
this.lastmessageid??=null;
this.mentions=0;
this.setUpInfiniteScroller();
this.position=Math.max(this.lastmessageid.getUnixTime(),this.snowflake.getUnixTime());
if(this.lastmessageid){
this.position=this.lastmessageid.getUnixTime()
}
this.position=-Math.max(this.position,this.snowflake.getUnixTime());
}
createguildHTML(){
const div=document.createElement("div")
@ -140,14 +137,16 @@ class Group extends Channel{
return;
}
this.buildmessages();
history.pushState(null, null,"/channels/"+this.guild_id+"/"+this.snowflake);
document.getElementById("channelname").textContent="@"+this.name;
document.getElementById("channelTopic").setAttribute("hidden","");
document.getElementById("typebox").contentEditable=""+true;
history.pushState(null, "","/channels/"+this.guild_id+"/"+this.id);
(document.getElementById("channelname") as HTMLElement).textContent="@"+this.name;
(document.getElementById("channelTopic") as HTMLElement).setAttribute("hidden","");
(document.getElementById("typebox") as HTMLDivElement).contentEditable=""+true;
}
messageCreate(messagep){
const messagez=new Message(messagep.d,this);
this.idToNext.set(this.lastmessageid,messagez.snowflake);
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);
@ -166,7 +165,7 @@ class Group extends Channel{
if(messagez.author===this.localuser.user){
return;
}
if(this.localuser.lookingguild.prevchannel===this&&document.hasFocus()){
if(this.localuser.lookingguild?.prevchannel===this&&document.hasFocus()){
return;
}
if(this.notification==="all"){
@ -179,15 +178,15 @@ class Group extends Channel{
return message.author.username;
}
unreads(){
const sentdms=document.getElementById("sentdms");
let current=null;
const sentdms=document.getElementById("sentdms") as HTMLDivElement;//Need to change sometime
let current:HTMLElement|null=null;
for(const thing of sentdms.children){
if(thing["all"]===this){
current=thing;
current=thing as HTMLElement;
}
}
if(this.hasunreads){
if(current){current.noti.textContent=this.mentions;return;}
if(current){current["noti"].textContent=this.mentions;return;}
const div=document.createElement("div");
div.classList.add("servernoti");
const noti=document.createElement("div");