mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-06 14:05:46 +01:00
added sounds for incoming and outgoing chat, and new notification
This commit is contained in:
BIN
public/sound/chat-incoming.wav
Normal file
BIN
public/sound/chat-incoming.wav
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
define(['taskbar', 'string'], function(taskbar, S) {
|
define(['taskbar', 'string', 'sound'], function(taskbar, S, sound) {
|
||||||
|
|
||||||
var module = {};
|
var module = {};
|
||||||
|
|
||||||
@@ -69,6 +69,8 @@ define(['taskbar', 'string'], function(taskbar, S) {
|
|||||||
app.alternatingTitle(data.username + ' has messaged you');
|
app.alternatingTitle(data.username + ' has messaged you');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sound.play('chat-incoming');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,6 +222,7 @@ define(['taskbar', 'string'], function(taskbar, S) {
|
|||||||
msg = msg +'\n';
|
msg = msg +'\n';
|
||||||
socket.emit('modules.chats.send', { touid:chatModal.touid, message:msg});
|
socket.emit('modules.chats.send', { touid:chatModal.touid, message:msg});
|
||||||
chatModal.find('#chat-message-input').val('');
|
chatModal.find('#chat-message-input').val('');
|
||||||
|
sound.play('chat-outgoing');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
define(function() {
|
define(['sound'], function(sound) {
|
||||||
var Notifications = {};
|
var Notifications = {};
|
||||||
|
|
||||||
Notifications.prepareDOM = function() {
|
Notifications.prepareDOM = function() {
|
||||||
@@ -108,6 +108,8 @@ define(function() {
|
|||||||
|
|
||||||
var savedCount = parseInt(localStorage.getItem('notifications:count'), 10) || 0;
|
var savedCount = parseInt(localStorage.getItem('notifications:count'), 10) || 0;
|
||||||
updateNotifCount(savedCount + 1);
|
updateNotifCount(savedCount + 1);
|
||||||
|
|
||||||
|
sound.play('notification');
|
||||||
});
|
});
|
||||||
socket.on('event:notifications.updateCount', function(count) {
|
socket.on('event:notifications.updateCount', function(count) {
|
||||||
updateNotifCount(count);
|
updateNotifCount(count);
|
||||||
|
|||||||
43
public/src/modules/sound.js
Normal file
43
public/src/modules/sound.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
define(['buzz'], function(buzz) {
|
||||||
|
var Sound = {};
|
||||||
|
|
||||||
|
Sound.initialised = false;
|
||||||
|
Sound.loaded = {};
|
||||||
|
|
||||||
|
Sound.init = function(callback) {
|
||||||
|
var sounds = {
|
||||||
|
notification: RELATIVE_PATH + '/sound/notification.wav',
|
||||||
|
'chat-outgoing': RELATIVE_PATH + '/sound/chat-outgoing.wav',
|
||||||
|
'chat-incoming': RELATIVE_PATH + '/sound/chat-incoming.wav'
|
||||||
|
};
|
||||||
|
|
||||||
|
for(var name in sounds) {
|
||||||
|
if (sounds.hasOwnProperty(name)) {
|
||||||
|
var path = sounds[name];
|
||||||
|
|
||||||
|
Sound.loaded[name] = new buzz.sound(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initialised = true;
|
||||||
|
|
||||||
|
callback();
|
||||||
|
};
|
||||||
|
|
||||||
|
Sound.play = function(name) {
|
||||||
|
var ready = function() {
|
||||||
|
if (Sound.loaded[name]) {
|
||||||
|
Sound.loaded[name].play();
|
||||||
|
} else {
|
||||||
|
console.log('[sound] Not found:', name);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!this.initialised) this.init(ready);
|
||||||
|
else ready();
|
||||||
|
};
|
||||||
|
|
||||||
|
return Sound;
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user