diff --git a/public/language/en_GB/user.json b/public/language/en_GB/user.json index 6bfb23bb73..44cc5bfa94 100644 --- a/public/language/en_GB/user.json +++ b/public/language/en_GB/user.json @@ -102,6 +102,7 @@ "incoming-message-sound": "Incoming message sound", "outgoing-message-sound": "Outgoing message sound", "notification-sound": "Notification sound", + "no-sound": "No sound", "browsing": "Browsing Settings", "open_links_in_new_tab": "Open outgoing links in new tab", diff --git a/src/controllers/accounts/settings.js b/src/controllers/accounts/settings.js index 11ea490d6f..e491d67efd 100644 --- a/src/controllers/accounts/settings.js +++ b/src/controllers/accounts/settings.js @@ -39,6 +39,9 @@ settingsController.get = function(req, res, callback) { }, sounds: function(next) { meta.sounds.getFiles(next); + }, + soundsMapping: function(next) { + meta.sounds.getMapping(userData.uid, next); } }, next); }, @@ -47,10 +50,15 @@ settingsController.get = function(req, res, callback) { userData.languages = results.languages; userData.homePageRoutes = results.homePageRoutes; - var soundSettings = ['notificationSound', 'incomingChatSound', 'outgoingChatSound']; - soundSettings.forEach(function(setting) { + var soundSettings = { + 'notificationSound': 'notification', + 'incomingChatSound': 'chat-incoming', + 'outgoingChatSound': 'chat-outgoing' + }; + + Object.keys(soundSettings).forEach(function(setting) { userData[setting] = Object.keys(results.sounds).map(function(name) { - return {name: name, selected: name === userData.settings[setting]}; + return {name: name, selected: name === results.soundsMapping[soundSettings[setting]]}; }); }); diff --git a/src/meta/sounds.js b/src/meta/sounds.js index c413def9e3..9a73942773 100644 --- a/src/meta/sounds.js +++ b/src/meta/sounds.js @@ -75,13 +75,13 @@ module.exports = function(Meta) { var defaultMapping = results.defaultMapping || {}; var soundMapping = {}; soundMapping.notification = (userSettings.notificationSound || userSettings.notificationSound === '') ? - userSettings.notificationSound : defaultMapping.notification || 'notification.mp3'; + userSettings.notificationSound : defaultMapping.notification || ''; soundMapping['chat-incoming'] = (userSettings.incomingChatSound || userSettings.incomingChatSound === '') ? - userSettings.incomingChatSound : defaultMapping['chat-incoming'] || 'waterdrop-high.mp3'; + userSettings.incomingChatSound : defaultMapping['chat-incoming'] || ''; soundMapping['chat-outgoing'] = (userSettings.outgoingChatSound || userSettings.outgoingChatSound === '') ? - userSettings.outgoingChatSound : defaultMapping['chat-outgoing'] || undefined; + userSettings.outgoingChatSound : defaultMapping['chat-outgoing'] || ''; callback(null, soundMapping); }); diff --git a/src/views/admin/general/sounds.tpl b/src/views/admin/general/sounds.tpl index f32e81191b..1154f4ec75 100644 --- a/src/views/admin/general/sounds.tpl +++ b/src/views/admin/general/sounds.tpl @@ -8,7 +8,7 @@
- + @@ -43,7 +43,7 @@