highLevel syncs across chans, shows in userlist

This commit is contained in:
rainbow napkin 2024-12-03 20:27:37 -05:00
parent 279640a7e7
commit 8ccb9003cc
8 changed files with 102 additions and 38 deletions

View file

@ -59,6 +59,7 @@ class chatBox{
this.aspectLockIcon.addEventListener("click", this.lockAspect.bind(this));
this.showChatIcon.addEventListener("click", ()=>{this.toggleUI()});
this.hideChatIcon.addEventListener("click", ()=>{this.toggleUI()});
this.highSelect.addEventListener("change", this.setHighLevel.bind(this));
this.flairSelect.addEventListener("change", this.setFlair.bind(this));
//Clickdragger/Resize
@ -79,8 +80,8 @@ class chatBox{
//Create high-level label
var highLevel = document.createElement('p');
highLevel.classList.add("chat-panel-buffer","chat-entry-high-level");
highLevel.innerHTML = `${chat.high}`;
highLevel.classList.add("chat-panel-buffer","chat-entry-high-level","high-level");
highLevel.innerHTML = `${chat.highLevel}`;
chatEntry.appendChild(highLevel);
//Create username label
@ -113,13 +114,20 @@ class chatBox{
async send(event){
if((!event || !event.key || event.key == "Enter") && this.chatPrompt.value){
this.client.socket.emit("chatMessage",{msg: this.chatPrompt.value, high: this.highSelect.value});
this.client.socket.emit("chatMessage",{msg: this.chatPrompt.value});
this.chatPrompt.value = "";
}
}
handleClientInfo(data){
this.updateFlairSelect(data.flairList, data.user.flair);
this.updateHighSelect(data.user.highLevel);
}
setHighLevel(event){
const highLevel = event.target.value;
this.client.socket.emit("setHighLevel", {highLevel});
}
setFlair(event){
@ -128,7 +136,9 @@ class chatBox{
this.client.socket.emit("setFlair", {flair});
}
updateHighSelect(highLevel){
this.highSelect.value = highLevel;
}
updateFlairSelect(flairList, flair){
//clear current flair select

View file

@ -88,20 +88,34 @@ class userList{
this.colorMap = newMap;
}
renderUser(user, color){
var userEntry = document.createElement('p');
renderUser(user, flair){
//Create user span
var userSpan = document.createElement('span');
userSpan.classList.add('chat-panel-users', 'user-entry');
//Create high-level label
var highLevel = document.createElement('p');
highLevel.classList.add("user-list-high-level","high-level");
highLevel.innerHTML = `${user.highLevel}`;
userSpan.appendChild(highLevel);
//Create nameplate
var userEntry = document.createElement('p');
userEntry.innerText = user.user;
userEntry.id = `user-entry-${user.user}`;
//Override color with flair
if(user.flair != "classic"){
color = `flair-${user.flair}`;
flair = `flair-${user.flair}`;
}
//Add classes to classList
userEntry.classList.add("chat-panel-users","user-entry",flair);
userEntry.classList.add("chat-panel-users","user-entry",color);
userSpan.appendChild(userEntry);
this.userList.appendChild(userEntry);
this.userList.appendChild(userSpan);
}
toggleUI(show = this.userDiv.style.display == "none"){