Skip to content

Commit

Permalink
feat: create a isSystem method on user
Browse files Browse the repository at this point in the history
  • Loading branch information
vyneer committed Dec 27, 2023
1 parent 4e14f3a commit e9bc315
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 21 deletions.
37 changes: 18 additions & 19 deletions assets/chat/js/messages/ChatBroadcastMessage.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,30 @@ export default class ChatBroadcastMessage extends ChatEventMessage {
}

buildUserTemplate(chat = null) {
// User with an id of -1 is the dummy system user used for server broadcasts
if (this.user.id !== -1) {
const colorFlair = usernameColorFlair(chat.flairs, this.user);

/** @type HTMLAnchorElement */
const user = document
.querySelector('#user-template')
?.content.cloneNode(true).firstElementChild;
user.title = this.title;
user.classList.add(colorFlair?.name);
user.innerText = this.user.displayName;
if (this.user.isSystem()) {
return [];
}

const ctrl = document.createElement('span');
ctrl.classList.toggle('ctrl');
const colorFlair = usernameColorFlair(chat.flairs, this.user);

if (this.slashme) {
return [user, ctrl, ' '];
}
/** @type HTMLAnchorElement */
const user = document
.querySelector('#user-template')
?.content.cloneNode(true).firstElementChild;
user.title = this.title;
user.classList.add(colorFlair?.name);
user.innerText = this.user.displayName;

ctrl.innerText = ': ';
const ctrl = document.createElement('span');
ctrl.classList.toggle('ctrl');

return [user, ctrl];
if (this.slashme) {
return [user, ctrl, ' '];
}

return [];
ctrl.innerText = ': ';

return [user, ctrl];
}

html(chat = null) {
Expand Down
2 changes: 1 addition & 1 deletion assets/chat/js/messages/ChatEventMessage.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default class ChatEventMessage extends ChatMessage {
.querySelector('#event-template')
?.content.cloneNode(true).firstElementChild;

if (this.user && this.user.username && this.user.id !== -1)
if (this.user && this.user.username && !this.user.isSystem())
eventTemplate.dataset.username = this.user.username;
if (this.mentioned && this.mentioned.length > 0)
eventTemplate.dataset.mentioned = this.mentioned.join(' ').toLowerCase();
Expand Down
4 changes: 4 additions & 0 deletions assets/chat/js/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ class ChatUser {
this.watching?.id === embed?.id
);
}

isSystem() {
return this.id === -1;
}
}

export default ChatUser;
2 changes: 1 addition & 1 deletion assets/chat/js/window.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ class ChatWindow extends EventEmitter {
message.updateTimeFormat();
}

if (message.user && message.user.id !== -1) {
if (message.user && !message.user.isSystem()) {
const { username } = message.user;

message.setOwnMessage(username === chat.user.username);
Expand Down

0 comments on commit e9bc315

Please sign in to comment.