A lot of changes and reducing the size of index.js
This should have general improvements, some things are half implemented, and still need some work, let me know if y'all see any bugs
This commit is contained in:
parent
21b520f10c
commit
618cbf6167
8 changed files with 221 additions and 137 deletions
|
@ -5,21 +5,21 @@ class channel{
|
||||||
channel.contextmenu.addbutton("Copy channel id",function(){
|
channel.contextmenu.addbutton("Copy channel id",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
navigator.clipboard.writeText(this.id);
|
navigator.clipboard.writeText(this.id);
|
||||||
})
|
});
|
||||||
|
|
||||||
channel.contextmenu.addbutton("Mark as read",function(){
|
channel.contextmenu.addbutton("Mark as read",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
this.readbottom();
|
this.readbottom();
|
||||||
})
|
});
|
||||||
|
|
||||||
channel.contextmenu.addbutton("Delete channel",function(){
|
channel.contextmenu.addbutton("Delete channel",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
this.deleteChannel();
|
this.deleteChannel();
|
||||||
},null,_=>{return thisuser.isAdmin()})
|
},null,_=>{console.log(_);return _.isAdmin()});
|
||||||
|
|
||||||
channel.contextmenu.addbutton("Edit channel",function(){
|
channel.contextmenu.addbutton("Edit channel",function(){
|
||||||
editchannelf(this);
|
editchannelf(this);
|
||||||
},null,_=>{return thisuser.isAdmin()})
|
},null,_=>{return _.isAdmin()});
|
||||||
}
|
}
|
||||||
constructor(JSON,owner){
|
constructor(JSON,owner){
|
||||||
if(JSON===-1){
|
if(JSON===-1){
|
||||||
|
@ -42,6 +42,9 @@ class channel{
|
||||||
this.lastreadmessageid=null;
|
this.lastreadmessageid=null;
|
||||||
this.lastmessageid=JSON.last_message_id;
|
this.lastmessageid=JSON.last_message_id;
|
||||||
}
|
}
|
||||||
|
isAdmin(){
|
||||||
|
return this.owner.isAdmin();
|
||||||
|
}
|
||||||
readStateInfo(json){
|
readStateInfo(json){
|
||||||
this.lastreadmessageid=json.last_message_id;
|
this.lastreadmessageid=json.last_message_id;
|
||||||
this.mentions=json.mention_count;
|
this.mentions=json.mention_count;
|
||||||
|
@ -186,7 +189,7 @@ class channel{
|
||||||
}
|
}
|
||||||
get myhtml(){
|
get myhtml(){
|
||||||
const search=document.getElementById("channels").children[0].children
|
const search=document.getElementById("channels").children[0].children
|
||||||
if(this.owner!==thisuser.lookingguild){
|
if(this.owner!==this.owner.owner.lookingguild){
|
||||||
return null
|
return null
|
||||||
}else if(this.parrent){
|
}else if(this.parrent){
|
||||||
for(const thing of search){
|
for(const thing of search){
|
||||||
|
@ -449,7 +452,7 @@ class channel{
|
||||||
messageCreate(messagep,focus){
|
messageCreate(messagep,focus){
|
||||||
const messagez=new cmessage(messagep.d);
|
const messagez=new cmessage(messagep.d);
|
||||||
this.lastmessageid=messagez.id;
|
this.lastmessageid=messagez.id;
|
||||||
if(messagez.author===thisuser.user){
|
if(messagez.author===this.owner.owner.user){
|
||||||
this.lastreadmessageid=messagez.id;
|
this.lastreadmessageid=messagez.id;
|
||||||
if(this.myhtml){
|
if(this.myhtml){
|
||||||
this.myhtml.classList.remove("cunread");
|
this.myhtml.classList.remove("cunread");
|
||||||
|
|
|
@ -3,7 +3,9 @@ class dirrect extends guild{
|
||||||
super(-1);
|
super(-1);
|
||||||
console.log(JSON);
|
console.log(JSON);
|
||||||
this.owner=owner;
|
this.owner=owner;
|
||||||
this.owner??=thisuser;
|
if(!this.owner){
|
||||||
|
console.error("Owner was not included, please fix")
|
||||||
|
}
|
||||||
this.channels=[];
|
this.channels=[];
|
||||||
this.channelids={};
|
this.channelids={};
|
||||||
this.id="@me";
|
this.id="@me";
|
||||||
|
@ -97,7 +99,7 @@ class group extends channel{
|
||||||
messageCreate(messagep,focus){
|
messageCreate(messagep,focus){
|
||||||
const messagez=new cmessage(messagep.d);
|
const messagez=new cmessage(messagep.d);
|
||||||
this.lastmessageid=messagez.id;
|
this.lastmessageid=messagez.id;
|
||||||
if(messagez.author===thisuser.user){
|
if(messagez.author===this.owner.owner.user){
|
||||||
this.lastreadmessageid=messagez.id;
|
this.lastreadmessageid=messagez.id;
|
||||||
}
|
}
|
||||||
this.messages.unshift(messagez);
|
this.messages.unshift(messagez);
|
||||||
|
@ -111,7 +113,7 @@ class group extends channel{
|
||||||
scrolly.scrollTop = scrolly.scrollHeight;
|
scrolly.scrollTop = scrolly.scrollHeight;
|
||||||
}
|
}
|
||||||
console.log(document.getElementById("channels").children)
|
console.log(document.getElementById("channels").children)
|
||||||
if(thisuser.lookingguild===this.owner){
|
if(this.owner.owner.lookingguild===this.owner){
|
||||||
const channellist=document.getElementById("channels").children[0]
|
const channellist=document.getElementById("channels").children[0]
|
||||||
for(const thing of channellist.children){
|
for(const thing of channellist.children){
|
||||||
if(thing.myinfo===this){
|
if(thing.myinfo===this){
|
||||||
|
|
|
@ -180,21 +180,27 @@ class fullscreen{
|
||||||
select.addEventListener("change",array[3]);
|
select.addEventListener("change",array[3]);
|
||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
case "tabs":
|
case "tabs":{
|
||||||
const table=document.createElement("table");
|
const table=document.createElement("table");
|
||||||
const tabs=document.createElement("tr");
|
const tabs=document.createElement("tr");
|
||||||
|
tabs.classList.add("tabbed-head");
|
||||||
table.appendChild(tabs);
|
table.appendChild(tabs);
|
||||||
|
const td=document.createElement("td");
|
||||||
|
tabs.appendChild(td);
|
||||||
const content=document.createElement("tr");
|
const content=document.createElement("tr");
|
||||||
|
content.classList.add("tabbed-content");
|
||||||
table.appendChild(content);
|
table.appendChild(content);
|
||||||
|
|
||||||
let shown;
|
let shown;
|
||||||
for(const thing of array[1]){
|
for(const thing of array[1]){
|
||||||
const td=document.createElement("td");
|
|
||||||
const button=document.createElement("button");
|
const button=document.createElement("button");
|
||||||
button.innerText=thing[0];
|
button.innerText=thing[0];
|
||||||
td.appendChild(button);
|
td.appendChild(button);
|
||||||
tabs.appendChild(td);
|
|
||||||
|
|
||||||
const tdcontent=document.createElement("td");
|
const tdcontent=document.createElement("td");
|
||||||
|
tdcontent.colSpan=array[1].length;
|
||||||
tdcontent.appendChild(this.tohtml(thing[1]));
|
tdcontent.appendChild(this.tohtml(thing[1]));
|
||||||
content.appendChild(tdcontent);
|
content.appendChild(tdcontent);
|
||||||
if(!shown){
|
if(!shown){
|
||||||
|
@ -209,6 +215,7 @@ class fullscreen{
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return table;
|
return table;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
console.error("can't find element:"+array[0]," full element:"+array)
|
console.error("can't find element:"+array[0]," full element:"+array)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class guild{
|
class guild{
|
||||||
static contextmenu=new contextmenu("channel menu");
|
static contextmenu=new contextmenu("guild menu");
|
||||||
static setupcontextmenu(){
|
static setupcontextmenu(){
|
||||||
guild.contextmenu.addbutton("Copy Guild id",function(){
|
guild.contextmenu.addbutton("Copy Guild id",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
|
@ -31,7 +31,9 @@ class guild{
|
||||||
}
|
}
|
||||||
console.log(JSON);
|
console.log(JSON);
|
||||||
this.owner=owner;
|
this.owner=owner;
|
||||||
this.owner??=thisuser;
|
if(!this.owner){
|
||||||
|
console.error("Owner was not included, please fix")
|
||||||
|
}
|
||||||
this.channels=[];
|
this.channels=[];
|
||||||
this.channelids={};
|
this.channelids={};
|
||||||
this.id=JSON.id;
|
this.id=JSON.id;
|
||||||
|
|
120
webpage/index.js
120
webpage/index.js
|
@ -18,7 +18,7 @@ setDynamicHeight();
|
||||||
|
|
||||||
let token=gettoken();
|
let token=gettoken();
|
||||||
let ws
|
let ws
|
||||||
initwebsocket();
|
//initwebsocket();
|
||||||
let READY;
|
let READY;
|
||||||
|
|
||||||
var currentmenu="";
|
var currentmenu="";
|
||||||
|
@ -33,7 +33,7 @@ document.addEventListener('click', function(event) {
|
||||||
});
|
});
|
||||||
let replyingto=null;
|
let replyingto=null;
|
||||||
{
|
{
|
||||||
const menu=new contextmenu("create backclick");
|
const menu=new contextmenu("create rightclick");
|
||||||
menu.addbutton("Create channel",function(){
|
menu.addbutton("Create channel",function(){
|
||||||
createchannels(thisuser.lookingguild.createChannel.bind(thisuser.lookingguild));
|
createchannels(thisuser.lookingguild.createChannel.bind(thisuser.lookingguild));
|
||||||
},null,_=>{return thisuser.isAdmin()})
|
},null,_=>{return thisuser.isAdmin()})
|
||||||
|
@ -262,122 +262,8 @@ let serverid=[];
|
||||||
let thisuser=null;
|
let thisuser=null;
|
||||||
|
|
||||||
|
|
||||||
function initwebsocket(){
|
|
||||||
ws = new WebSocket(info.gateway.toString());
|
|
||||||
|
|
||||||
ws.addEventListener('open', (event) => {
|
|
||||||
console.log('WebSocket connected');
|
|
||||||
ws.send(JSON.stringify({
|
|
||||||
"op": 2,
|
|
||||||
"d": {
|
|
||||||
"token":token,
|
|
||||||
"capabilities": 16381,
|
|
||||||
"properties": {
|
|
||||||
"browser": "Jank Client",
|
|
||||||
"client_build_number": 0,
|
|
||||||
"release_channel": "Custom",
|
|
||||||
"browser_user_agent": navigator.userAgent
|
|
||||||
},
|
|
||||||
"compress": false,
|
|
||||||
"presence": {
|
|
||||||
"status": "online",
|
|
||||||
"since": new Date().getTime(),
|
|
||||||
"activities": [],
|
|
||||||
"afk": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
});
|
|
||||||
|
|
||||||
ws.addEventListener('message', (event) => {
|
|
||||||
|
|
||||||
|
|
||||||
try{
|
|
||||||
const temp=JSON.parse(event.data);
|
|
||||||
console.log(temp)
|
|
||||||
if(temp.op==0){
|
|
||||||
switch(temp.t){
|
|
||||||
case "MESSAGE_CREATE":
|
|
||||||
if(thisuser){
|
|
||||||
thisuser.messageCreate(temp);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "READY":
|
|
||||||
thisuser=new localuser(temp);
|
|
||||||
thisuser.loaduser();
|
|
||||||
READY=temp;
|
|
||||||
thisuser.init();
|
|
||||||
genusersettings();
|
|
||||||
document.getElementById("loading").classList.add("doneloading");
|
|
||||||
document.getElementById("loading").classList.remove("loading")
|
|
||||||
break;
|
|
||||||
case "MESSAGE_UPDATE":
|
|
||||||
if(thisuser){
|
|
||||||
if(window.location.pathname.split("/")[3]==temp.d.channel_id){
|
|
||||||
const find=temp.d.id;
|
|
||||||
for(const message of messagelist){
|
|
||||||
if(message.all.id===find){
|
|
||||||
message.all.content=temp.d.content;
|
|
||||||
message.txt.innerHTML=markdown(temp.d.content).innerHTML;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "TYPING_START":
|
|
||||||
if(thisuser){
|
|
||||||
thisuser.typeingStart(temp);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "USER_UPDATE":
|
|
||||||
if(thisuser){
|
|
||||||
const users=user.userids[temp.d.id];
|
|
||||||
console.log(users,temp.d.id)
|
|
||||||
|
|
||||||
if(users){
|
|
||||||
users.userupdate(temp.d);
|
|
||||||
console.log("in here");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case "CHANNEL_UPDATE":
|
|
||||||
if(thisuser){
|
|
||||||
thisuser.updateChannel(temp.d);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "CHANNEL_CREATE":
|
|
||||||
if(thisuser){
|
|
||||||
thisuser.createChannel(temp.d);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "CHANNEL_DELETE":
|
|
||||||
if(thisuser){
|
|
||||||
thisuser.delChannel(temp.d);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if(temp.op===10){
|
|
||||||
console.log("heartbeat down")
|
|
||||||
setInterval(function(){
|
|
||||||
ws.send(JSON.stringify({op:1,d:packets}))
|
|
||||||
},temp.d.heartbeat_interval)
|
|
||||||
packets=1;
|
|
||||||
}else if(temp.op!=11){
|
|
||||||
packets++
|
|
||||||
}
|
|
||||||
}catch(error){
|
|
||||||
console.error(error)
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
ws.addEventListener('close', (event) => {
|
|
||||||
console.log('WebSocket closed');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
thisuser=new localuser();
|
||||||
let cchanel=0;
|
let cchanel=0;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
class localuser{
|
class localuser{
|
||||||
constructor(ready){
|
constructor(){
|
||||||
|
this.initwebsocket();
|
||||||
|
this.initialized=false;
|
||||||
|
}
|
||||||
|
gottenReady(ready){
|
||||||
|
this.initialized=true;
|
||||||
this.ready=ready;
|
this.ready=ready;
|
||||||
this.guilds=[];
|
this.guilds=[];
|
||||||
this.guildids={};
|
this.guildids={};
|
||||||
|
@ -33,6 +38,120 @@ class localuser{
|
||||||
}
|
}
|
||||||
this.typing=[];
|
this.typing=[];
|
||||||
}
|
}
|
||||||
|
initwebsocket(){
|
||||||
|
this.ws = new WebSocket(info.gateway.toString());
|
||||||
|
this.ws.addEventListener('open', (event) => {
|
||||||
|
console.log('WebSocket connected');
|
||||||
|
this.ws.send(JSON.stringify({
|
||||||
|
"op": 2,
|
||||||
|
"d": {
|
||||||
|
"token":token,
|
||||||
|
"capabilities": 16381,
|
||||||
|
"properties": {
|
||||||
|
"browser": "Jank Client",
|
||||||
|
"client_build_number": 0,
|
||||||
|
"release_channel": "Custom",
|
||||||
|
"browser_user_agent": navigator.userAgent
|
||||||
|
},
|
||||||
|
"compress": false,
|
||||||
|
"presence": {
|
||||||
|
"status": "online",
|
||||||
|
"since": new Date().getTime(),
|
||||||
|
"activities": [],
|
||||||
|
"afk": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
|
||||||
|
this.ws.addEventListener('message', (event) => {
|
||||||
|
|
||||||
|
|
||||||
|
try{
|
||||||
|
const temp=JSON.parse(event.data);
|
||||||
|
console.log(temp)
|
||||||
|
if(temp.op==0){
|
||||||
|
switch(temp.t){
|
||||||
|
case "MESSAGE_CREATE":
|
||||||
|
if(this.initialized){
|
||||||
|
this.messageCreate(temp);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "READY":
|
||||||
|
this.gottenReady(temp);
|
||||||
|
this.loaduser();
|
||||||
|
READY=temp;
|
||||||
|
this.init();
|
||||||
|
genusersettings();
|
||||||
|
document.getElementById("loading").classList.add("doneloading");
|
||||||
|
document.getElementById("loading").classList.remove("loading")
|
||||||
|
break;
|
||||||
|
case "MESSAGE_UPDATE":
|
||||||
|
if(this.initialized){
|
||||||
|
if(window.location.pathname.split("/")[3]==temp.d.channel_id){
|
||||||
|
const find=temp.d.id;
|
||||||
|
for(const message of messagelist){
|
||||||
|
if(message.all.id===find){
|
||||||
|
message.all.content=temp.d.content;
|
||||||
|
message.txt.innerHTML=markdown(temp.d.content).innerHTML;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "TYPING_START":
|
||||||
|
if(this.initialized){
|
||||||
|
this.typeingStart(temp);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "USER_UPDATE":
|
||||||
|
if(this.initialized){
|
||||||
|
const users=user.userids[temp.d.id];
|
||||||
|
console.log(users,temp.d.id)
|
||||||
|
|
||||||
|
if(users){
|
||||||
|
users.userupdate(temp.d);
|
||||||
|
console.log("in here");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case "CHANNEL_UPDATE":
|
||||||
|
if(this.initialized){
|
||||||
|
this.updateChannel(temp.d);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "CHANNEL_CREATE":
|
||||||
|
if(this.initialized){
|
||||||
|
this.createChannel(temp.d);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "CHANNEL_DELETE":
|
||||||
|
if(this.initialized){
|
||||||
|
this.delChannel(temp.d);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}else if(temp.op===10){
|
||||||
|
console.log("heartbeat down")
|
||||||
|
setInterval(_=>{
|
||||||
|
this.ws.send(JSON.stringify({op:1,d:packets}))
|
||||||
|
},temp.d.heartbeat_interval)
|
||||||
|
packets=1;
|
||||||
|
}else if(temp.op!=11){
|
||||||
|
packets++
|
||||||
|
}
|
||||||
|
}catch(error){
|
||||||
|
console.error(error)
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
this.ws.addEventListener('close', (event) => {
|
||||||
|
console.log('WebSocket closed');
|
||||||
|
});
|
||||||
|
}
|
||||||
resolveGuildidFromChannelID(ID){
|
resolveGuildidFromChannelID(ID){
|
||||||
let resolve=this.guilds.find(guild => guild.channelids[ID])
|
let resolve=this.guilds.find(guild => guild.channelids[ID])
|
||||||
resolve??=undefined;
|
resolve??=undefined;
|
||||||
|
@ -157,13 +276,63 @@ class localuser{
|
||||||
div.innerText="+";
|
div.innerText="+";
|
||||||
div.classList.add("addserver","servericon")
|
div.classList.add("addserver","servericon")
|
||||||
serverlist.appendChild(div)
|
serverlist.appendChild(div)
|
||||||
div.onclick=function(){
|
div.onclick=_=>{
|
||||||
console.log("clicked :3")
|
console.log("clicked :3")
|
||||||
|
this.createGuild();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
this.unreads();
|
this.unreads();
|
||||||
}
|
}
|
||||||
|
createGuild(){
|
||||||
|
let inviteurl="";
|
||||||
|
const error=document.createElement("span");
|
||||||
|
|
||||||
|
const full=new fullscreen(["tabs",[
|
||||||
|
["Join using invite",[
|
||||||
|
"vdiv",
|
||||||
|
["textbox",
|
||||||
|
"Invite Link/Code",
|
||||||
|
"",
|
||||||
|
function(){
|
||||||
|
console.log(this)
|
||||||
|
inviteurl=this.value;
|
||||||
|
}
|
||||||
|
],
|
||||||
|
["html",error]
|
||||||
|
,
|
||||||
|
["button",
|
||||||
|
"",
|
||||||
|
"Submit",
|
||||||
|
_=>{
|
||||||
|
let parsed="";
|
||||||
|
if(inviteurl.includes("/")){
|
||||||
|
parsed=inviteurl.split("/")[inviteurl.split("/").length-1]
|
||||||
|
}else{
|
||||||
|
parsed=inviteurl;
|
||||||
|
}
|
||||||
|
fetch(info.api.toString()+"/v9/invites/"+parsed,{
|
||||||
|
method:"POST",
|
||||||
|
headers:{
|
||||||
|
"Content-type": "application/json; charset=UTF-8",
|
||||||
|
Authorization:token
|
||||||
|
},
|
||||||
|
}).then(r=>r.json()).then(_=>{
|
||||||
|
console.log(_);
|
||||||
|
if(_.message){
|
||||||
|
error.innerText=_.message;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
]],
|
||||||
|
["Create Server",[
|
||||||
|
"text","Not currently implemented, sorry"
|
||||||
|
]]
|
||||||
|
]])
|
||||||
|
full.show();
|
||||||
|
}
|
||||||
messageCreate(messagep){
|
messageCreate(messagep){
|
||||||
messagep.d.guild_id??="@me";
|
messagep.d.guild_id??="@me";
|
||||||
this.guildids[messagep.d.guild_id].channelids[messagep.d.channel_id].messageCreate(messagep,this.channelfocus===messagep.d.channel_id);
|
this.guildids[messagep.d.guild_id].channelids[messagep.d.channel_id].messageCreate(messagep,this.channelfocus===messagep.d.channel_id);
|
||||||
|
|
|
@ -4,7 +4,7 @@ class cmessage{
|
||||||
cmessage.contextmenu.addbutton("Copy raw text",function(){
|
cmessage.contextmenu.addbutton("Copy raw text",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
navigator.clipboard.writeText(this.content);
|
navigator.clipboard.writeText(this.content);
|
||||||
})
|
});
|
||||||
cmessage.contextmenu.addbutton("Reply",function(div){
|
cmessage.contextmenu.addbutton("Reply",function(div){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
if(replyingto){
|
if(replyingto){
|
||||||
|
@ -13,11 +13,15 @@ class cmessage{
|
||||||
replyingto=div;
|
replyingto=div;
|
||||||
console.log(div);
|
console.log(div);
|
||||||
replyingto.classList.add("replying");
|
replyingto.classList.add("replying");
|
||||||
})
|
});
|
||||||
cmessage.contextmenu.addbutton("Copy message id",function(){
|
cmessage.contextmenu.addbutton("Copy message id",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
navigator.clipboard.writeText(this.id);
|
navigator.clipboard.writeText(this.id);
|
||||||
})
|
});
|
||||||
|
cmessage.contextmenu.addbutton("Copy user id",function(){
|
||||||
|
console.log(this)
|
||||||
|
navigator.clipboard.writeText(this.author.id);
|
||||||
|
});
|
||||||
cmessage.contextmenu.addbutton("Message user",function(){
|
cmessage.contextmenu.addbutton("Message user",function(){
|
||||||
console.log(this)
|
console.log(this)
|
||||||
fetch(info.api.toString()+"/v9/users/@me/channels",
|
fetch(info.api.toString()+"/v9/users/@me/channels",
|
||||||
|
|
|
@ -265,7 +265,7 @@ input {
|
||||||
background-color: var(--message-bg-hover);
|
background-color: var(--message-bg-hover);
|
||||||
color: var(--primary-text);
|
color: var(--primary-text);
|
||||||
height: .4in;
|
height: .4in;
|
||||||
width: 100%;
|
width: 97.5%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
|
@ -763,3 +763,14 @@ span {
|
||||||
.servernoti {
|
.servernoti {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
.tabbed-head{
|
||||||
|
background: var(--textarea-bg);
|
||||||
|
}
|
||||||
|
.tabbed-content td{
|
||||||
|
/* border-color: var(--textarea-bg); */
|
||||||
|
/* border-width:1in; */
|
||||||
|
border-inline: medium solid var(--textarea-bg);
|
||||||
|
}
|
||||||
|
.tabbed-head td button{
|
||||||
|
min-width:1.5in;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue