From dc7b51b38abd24a77ff83ef7eae1630122af3351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Sat, 2 May 2020 23:45:08 +0200 Subject: [PATCH] Make notification sounds configurable --- app/src/RoomClient.js | 23 ++++++++++++------- app/src/actions/settingsActions.js | 5 ++++ .../components/Settings/AdvancedSettings.js | 21 +++++++++++++---- app/src/reducers/settings.js | 10 +++++++- app/src/translations/cn.json | 1 + app/src/translations/cs.json | 1 + app/src/translations/de.json | 1 + app/src/translations/dk.json | 1 + app/src/translations/el.json | 1 + app/src/translations/en.json | 1 + app/src/translations/es.json | 1 + app/src/translations/fr.json | 1 + app/src/translations/hr.json | 1 + app/src/translations/hu.json | 1 + app/src/translations/it.json | 1 + app/src/translations/nb.json | 1 + app/src/translations/pl.json | 1 + app/src/translations/pt.json | 1 + app/src/translations/ro.json | 1 + app/src/translations/tr.json | 1 + app/src/translations/uk.json | 1 + 21 files changed, 62 insertions(+), 14 deletions(-) diff --git a/app/src/RoomClient.js b/app/src/RoomClient.js index 2413838..488ed24 100644 --- a/app/src/RoomClient.js +++ b/app/src/RoomClient.js @@ -516,16 +516,21 @@ export default class RoomClient _soundNotification() { - const alertPromise = this._soundAlert.play(); + const { notificationSounds } = store.getState().settings; - if (alertPromise !== undefined) + if (notificationSounds) { - alertPromise - .then() - .catch((error) => - { - logger.error('_soundAlert.play() | failed: %o', error); - }); + const alertPromise = this._soundAlert.play(); + + if (alertPromise !== undefined) + { + alertPromise + .then() + .catch((error) => + { + logger.error('_soundAlert.play() | failed: %o', error); + }); + } } } @@ -2343,6 +2348,8 @@ export default class RoomClient store.dispatch( peerActions.addPeer({ id, displayName, picture, roles, consumers: [] })); + this._soundNotification(); + store.dispatch(requestActions.notify( { text : intl.formatMessage({ diff --git a/app/src/actions/settingsActions.js b/app/src/actions/settingsActions.js index 34c4651..112dd0b 100644 --- a/app/src/actions/settingsActions.js +++ b/app/src/actions/settingsActions.js @@ -43,6 +43,11 @@ export const toggleHiddenControls = () => type : 'TOGGLE_HIDDEN_CONTROLS' }); +export const toggleNotificationSounds = () => + ({ + type : 'TOGGLE_NOTIFICATION_SOUNDS' + }); + export const setLastN = (lastN) => ({ type : 'SET_LAST_N', diff --git a/app/src/components/Settings/AdvancedSettings.js b/app/src/components/Settings/AdvancedSettings.js index 131395e..520dc0f 100644 --- a/app/src/components/Settings/AdvancedSettings.js +++ b/app/src/components/Settings/AdvancedSettings.js @@ -28,6 +28,7 @@ const AdvancedSettings = ({ roomClient, settings, onToggleAdvancedMode, + onToggleNotificationSounds, classes }) => { @@ -43,6 +44,14 @@ const AdvancedSettings = ({ defaultMessage : 'Advanced mode' })} /> + } + label={intl.formatMessage({ + id : 'settings.notificationSounds', + defaultMessage : 'Notification sounds' + })} + /> { !window.config.lockLastN &&
@@ -84,10 +93,11 @@ const AdvancedSettings = ({ AdvancedSettings.propTypes = { - roomClient : PropTypes.any.isRequired, - settings : PropTypes.object.isRequired, - onToggleAdvancedMode : PropTypes.func.isRequired, - classes : PropTypes.object.isRequired + roomClient : PropTypes.any.isRequired, + settings : PropTypes.object.isRequired, + onToggleAdvancedMode : PropTypes.func.isRequired, + onToggleNotificationSounds : PropTypes.func.isRequired, + classes : PropTypes.object.isRequired }; const mapStateToProps = (state) => @@ -96,7 +106,8 @@ const mapStateToProps = (state) => }); const mapDispatchToProps = { - onToggleAdvancedMode : settingsActions.toggleAdvancedMode + onToggleAdvancedMode : settingsActions.toggleAdvancedMode, + onToggleNotificationSounds : settingsActions.toggleNotificationSounds }; export default withRoomContext(connect( diff --git a/app/src/reducers/settings.js b/app/src/reducers/settings.js index 85ed023..549219c 100644 --- a/app/src/reducers/settings.js +++ b/app/src/reducers/settings.js @@ -8,7 +8,8 @@ const initialState = resolution : window.config.defaultResolution || 'medium', lastN : 4, permanentTopBar : true, - hiddenControls : false + hiddenControls : false, + notificationSounds : true }; const settings = (state = initialState, action) => @@ -65,6 +66,13 @@ const settings = (state = initialState, action) => return { ...state, hiddenControls }; } + case 'TOGGLE_NOTIFICATION_SOUNDS': + { + const notificationSounds = !state.notificationSounds; + + return { ...state, notificationSounds }; + } + case 'SET_VIDEO_RESOLUTION': { const { resolution } = action.payload; diff --git a/app/src/translations/cn.json b/app/src/translations/cn.json index 5136bd7..1dd2f75 100644 --- a/app/src/translations/cn.json +++ b/app/src/translations/cn.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "永久顶吧", "settings.lastn": "可见视频数量", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "无法保存文件", "filesharing.startingFileShare": "正在尝试共享文件", diff --git a/app/src/translations/cs.json b/app/src/translations/cs.json index 57037c5..7cf5ddd 100644 --- a/app/src/translations/cs.json +++ b/app/src/translations/cs.json @@ -121,6 +121,7 @@ "settings.permanentTopBar": null, "settings.lastn": null, "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Není možné uložit soubor", "filesharing.startingFileShare": "Pokouším se sdílet soubor", diff --git a/app/src/translations/de.json b/app/src/translations/de.json index e9d478f..5e69940 100644 --- a/app/src/translations/de.json +++ b/app/src/translations/de.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Permanente obere Leiste", "settings.lastn": "Anzahl der sichtbaren Videos", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Fehler beim Speichern der Datei", "filesharing.startingFileShare": "Starte Teilen der Datei", diff --git a/app/src/translations/dk.json b/app/src/translations/dk.json index 303faec..096f14b 100644 --- a/app/src/translations/dk.json +++ b/app/src/translations/dk.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Permanent øverste linje", "settings.lastn": "Antal synlige videoer", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Kan ikke gemme fil", "filesharing.startingFileShare": "Forsøger at dele filen", diff --git a/app/src/translations/el.json b/app/src/translations/el.json index 396ed16..c5de505 100644 --- a/app/src/translations/el.json +++ b/app/src/translations/el.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Μόνιμη μπάρα κορυφής", "settings.lastn": "Αριθμός ορατών βίντεο", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Αδυναμία αποθήκευσης του αρχείου", "filesharing.startingFileShare": "Προσπάθεια διαμοιρασμού αρχείου", diff --git a/app/src/translations/en.json b/app/src/translations/en.json index 23c470b..88bb3be 100644 --- a/app/src/translations/en.json +++ b/app/src/translations/en.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Permanent top bar", "settings.lastn": "Number of visible videos", "settings.hiddenControls": "Hidden media controls", + "settings.notificationSounds": "Notification sounds", "filesharing.saveFileError": "Unable to save file", "filesharing.startingFileShare": "Attempting to share file", diff --git a/app/src/translations/es.json b/app/src/translations/es.json index 6e9ff0f..032493d 100644 --- a/app/src/translations/es.json +++ b/app/src/translations/es.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Barra superior permanente", "settings.lastn": "Cantidad de videos visibles", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "No ha sido posible guardar el fichero", "filesharing.startingFileShare": "Intentando compartir el fichero", diff --git a/app/src/translations/fr.json b/app/src/translations/fr.json index 2fc68b2..67beebe 100644 --- a/app/src/translations/fr.json +++ b/app/src/translations/fr.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Barre supérieure permanente", "settings.lastn": "Nombre de vidéos visibles", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Impossible d'enregistrer le fichier", "filesharing.startingFileShare": "Début du transfert de fichier", diff --git a/app/src/translations/hr.json b/app/src/translations/hr.json index f032064..28c5c0f 100644 --- a/app/src/translations/hr.json +++ b/app/src/translations/hr.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Stalna gornja šipka", "settings.lastn": "Broj vidljivih videozapisa", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Nije moguće spremiti datoteku", "filesharing.startingFileShare": "Pokušaj dijeljenja datoteke", diff --git a/app/src/translations/hu.json b/app/src/translations/hu.json index 9497a39..e85ffa2 100644 --- a/app/src/translations/hu.json +++ b/app/src/translations/hu.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Állandó felső sáv", "settings.lastn": "A látható videók száma", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "A file-t nem sikerült elmenteni", "filesharing.startingFileShare": "Fájl megosztása", diff --git a/app/src/translations/it.json b/app/src/translations/it.json index 31aa27a..3166480 100644 --- a/app/src/translations/it.json +++ b/app/src/translations/it.json @@ -121,6 +121,7 @@ "settings.permanentTopBar": "Barra superiore permanente", "settings.lastn": "Numero di video visibili", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Impossibile salvare file", "filesharing.startingFileShare": "Tentativo di condivisione file", diff --git a/app/src/translations/nb.json b/app/src/translations/nb.json index 646a2fe..fb741b0 100644 --- a/app/src/translations/nb.json +++ b/app/src/translations/nb.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Permanent topplinje", "settings.lastn": "Antall videoer synlig", "settings.hiddenControls": "Skjul media knapper", + "settings.notificationSounds": "Varslingslyder", "filesharing.saveFileError": "Klarte ikke å lagre fil", "filesharing.startingFileShare": "Starter fildeling", diff --git a/app/src/translations/pl.json b/app/src/translations/pl.json index 0bcf2ea..dee0dcc 100644 --- a/app/src/translations/pl.json +++ b/app/src/translations/pl.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Stały górny pasek", "settings.lastn": "Liczba widocznych uczestników (zdalnych)", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Nie można zapisać pliku", "filesharing.startingFileShare": "Próba udostępnienia pliku", diff --git a/app/src/translations/pt.json b/app/src/translations/pt.json index 57cbfb5..af6b783 100644 --- a/app/src/translations/pt.json +++ b/app/src/translations/pt.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Barra superior permanente", "settings.lastn": "Número de vídeos visíveis", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Impossível de gravar o ficheiro", "filesharing.startingFileShare": "Tentando partilha de ficheiro", diff --git a/app/src/translations/ro.json b/app/src/translations/ro.json index 3b93cdc..e37dda3 100644 --- a/app/src/translations/ro.json +++ b/app/src/translations/ro.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Bara de sus permanentă", "settings.lastn": "Numărul de videoclipuri vizibile", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Încercarea de a salva fișierul a eșuat", "filesharing.startingFileShare": "Partajarea fișierului", diff --git a/app/src/translations/tr.json b/app/src/translations/tr.json index 148d235..62a22ed 100644 --- a/app/src/translations/tr.json +++ b/app/src/translations/tr.json @@ -119,6 +119,7 @@ "settings.permanentTopBar": "Üst barı kalıcı yap", "settings.lastn": "İzlenebilir video sayısı", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Dosya kaydedilemiyor", "filesharing.startingFileShare": "Paylaşılan dosyaya erişiliyor", diff --git a/app/src/translations/uk.json b/app/src/translations/uk.json index fc2c999..de5b736 100644 --- a/app/src/translations/uk.json +++ b/app/src/translations/uk.json @@ -122,6 +122,7 @@ "settings.permanentTopBar": "Постійний верхній рядок", "settings.lastn": "Кількість видимих ​​відео", "settings.hiddenControls": null, + "settings.notificationSounds": null, "filesharing.saveFileError": "Неможливо зберегти файл", "filesharing.startingFileShare": "Спроба поділитися файлом",