Compare commits
No commits in common. "8ea41bb592b86e2f49b2f838e03006bc04472da5" and "a7e0e5a3f821d51eb4e2ecde82baeb8ee0e183c7" have entirely different histories.
8ea41bb592
...
a7e0e5a3f8
@ -263,12 +263,7 @@ class NotificationAudio {
|
|||||||
this.schedule = new Schedule(timeout);
|
this.schedule = new Schedule(timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
sounds = {
|
sounds = ["/audio/soundfx.d_beep3.mp3"];
|
||||||
"message": "/audio/soundfx.d_beep3.mp3",
|
|
||||||
"mention": "/audio/750607__deadrobotmusic__notification-sound-1.wav",
|
|
||||||
"messageOtherChannel": "/audio/750608__deadrobotmusic__notification-sound-2.wav",
|
|
||||||
"ping": "/audio/750609__deadrobotmusic__notification-sound-3.wav",
|
|
||||||
}
|
|
||||||
|
|
||||||
play(soundIndex = 0) {
|
play(soundIndex = 0) {
|
||||||
this.schedule.delay(() => {
|
this.schedule.delay(() => {
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -116,33 +116,11 @@
|
|||||||
|
|
||||||
setInterval(updateTimes, 1000);
|
setInterval(updateTimes, 1000);
|
||||||
|
|
||||||
function isMentionToMe(message){
|
|
||||||
const mentionText = '@{{ user.username.value }}';
|
|
||||||
return message.toLowerCase().includes(mentionText);
|
|
||||||
}
|
|
||||||
function extractMentions(message) {
|
|
||||||
return [...new Set(message.match(/@\w+/g) || [])];
|
|
||||||
}
|
|
||||||
function isMentionForSomeoneElse(message){
|
|
||||||
const mentions = extractMentions(message);
|
|
||||||
const mentionText = '@{{ user.username.value }}';
|
|
||||||
return mentions.length > 0 && mentions.indexOf(mentionText) == -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
app.addEventListener("channel-message", (data) => {
|
app.addEventListener("channel-message", (data) => {
|
||||||
if (data.channel_uid !== channelUid) {
|
if (data.channel_uid !== channelUid) return;
|
||||||
if(!isMentionForSomeoneElse(data.message)){
|
|
||||||
app.playSound("messageOtherChannel");
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (data.username !== "{{ user.username.value }}") {
|
if (data.username !== "{{ user.username.value }}") {
|
||||||
if(isMentionToMe(data.message)){
|
app.playSound(0);
|
||||||
app.playSound("mention");
|
|
||||||
}else if (!isMentionForSomeoneElse(data.message)){
|
|
||||||
app.playSound("message");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const messagesContainer = document.querySelector(".chat-messages");
|
const messagesContainer = document.querySelector(".chat-messages");
|
||||||
@ -150,6 +128,10 @@
|
|||||||
const doScrollDownBecauseLastMessageIsVisible = !lastMessage || isElementVisible(lastMessage);
|
const doScrollDownBecauseLastMessageIsVisible = !lastMessage || isElementVisible(lastMessage);
|
||||||
|
|
||||||
const message = document.createElement("div");
|
const message = document.createElement("div");
|
||||||
|
message.dataset.color = data.color;
|
||||||
|
message.dataset.created_at = data.created_at;
|
||||||
|
message.dataset.user_nick = data.user_nick;
|
||||||
|
message.dataset.uid = data.uid;
|
||||||
message.innerHTML = data.html;
|
message.innerHTML = data.html;
|
||||||
document.querySelector(".chat-messages").appendChild(message.firstChild);
|
document.querySelector(".chat-messages").appendChild(message.firstChild);
|
||||||
updateLayout(doScrollDownBecauseLastMessageIsVisible);
|
updateLayout(doScrollDownBecauseLastMessageIsVisible);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user