From 881164a7188e2d3cf47263b63543bc4dff7a84bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Thu, 30 Apr 2020 13:10:34 +0200 Subject: [PATCH] Add option for muting remote videos, fixes #204 --- .../MeetingDrawer/ParticipantList/ListPeer.js | 43 +++++++++++++++++-- app/src/translations/cn.json | 3 ++ app/src/translations/cs.json | 5 +++ app/src/translations/de.json | 3 ++ app/src/translations/dk.json | 3 ++ app/src/translations/el.json | 3 ++ app/src/translations/en.json | 3 ++ app/src/translations/es.json | 3 ++ app/src/translations/fr.json | 3 ++ app/src/translations/hr.json | 3 ++ app/src/translations/hu.json | 3 ++ app/src/translations/it.json | 3 ++ app/src/translations/nb.json | 3 ++ app/src/translations/pl.json | 3 ++ app/src/translations/pt.json | 3 ++ app/src/translations/ro.json | 3 ++ app/src/translations/tr.json | 10 +++++ app/src/translations/uk.json | 4 ++ 18 files changed, 101 insertions(+), 3 deletions(-) diff --git a/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js b/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js index 7fd0383..80fc802 100644 --- a/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js +++ b/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js @@ -8,6 +8,8 @@ import * as appPropTypes from '../../appPropTypes'; import { withRoomContext } from '../../../RoomContext'; import { useIntl } from 'react-intl'; import IconButton from '@material-ui/core/IconButton'; +import VideocamIcon from '@material-ui/icons/Videocam'; +import VideocamOffIcon from '@material-ui/icons/VideocamOff'; import MicIcon from '@material-ui/icons/Mic'; import MicOffIcon from '@material-ui/icons/MicOff'; import ScreenIcon from '@material-ui/icons/ScreenShare'; @@ -104,11 +106,18 @@ const ListPeer = (props) => isModerator, peer, micConsumer, + webcamConsumer, screenConsumer, children, classes } = props; + const webcamEnabled = ( + Boolean(webcamConsumer) && + !webcamConsumer.locallyPaused && + !webcamConsumer.remotelyPaused + ); + const micEnabled = ( Boolean(micConsumer) && !micConsumer.locallyPaused && @@ -153,8 +162,10 @@ const ListPeer = (props) => })} color={screenVisible ? 'primary' : 'secondary'} disabled={peer.peerScreenInProgress} - onClick={() => + onClick={(e) => { + e.stopPropagation(); + screenVisible ? roomClient.modifyPeerConsumer(peer.id, 'screen', true) : roomClient.modifyPeerConsumer(peer.id, 'screen', false); @@ -167,6 +178,28 @@ const ListPeer = (props) => } } + + { + e.stopPropagation(); + + webcamEnabled ? + roomClient.modifyPeerConsumer(peer.id, 'webcam', true) : + roomClient.modifyPeerConsumer(peer.id, 'webcam', false); + }} + > + { webcamEnabled ? + + : + + } + })} color={micEnabled ? 'primary' : 'secondary'} disabled={peer.peerAudioInProgress} - onClick={() => + onClick={(e) => { + e.stopPropagation(); + micEnabled ? roomClient.modifyPeerConsumer(peer.id, 'mic', true) : roomClient.modifyPeerConsumer(peer.id, 'mic', false); @@ -194,8 +229,10 @@ const ListPeer = (props) => defaultMessage : 'Kick out participant' })} disabled={peer.peerKickInProgress} - onClick={() => + onClick={(e) => { + e.stopPropagation(); + roomClient.kickPeer(peer.id); }} > diff --git a/app/src/translations/cn.json b/app/src/translations/cn.json index e8905aa..2d5f9bc 100644 --- a/app/src/translations/cn.json +++ b/app/src/translations/cn.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "显示设置", "tooltip.participants": "显示参加者", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "房间名称", "label.chooseRoomButton": "继续", diff --git a/app/src/translations/cs.json b/app/src/translations/cs.json index bcac576..f9ca81d 100644 --- a/app/src/translations/cs.json +++ b/app/src/translations/cs.json @@ -54,6 +54,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -66,6 +67,10 @@ "tooltip.leaveFullscreen": "Vypnout režim celé obrazovky (fullscreen)", "tooltip.lobby": "Ukázat Přijímací místnost", "tooltip.settings": "Zobrazit nastavení", + "tooltip.participants": null, + "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Jméno místnosti", "label.chooseRoomButton": "Pokračovat", diff --git a/app/src/translations/de.json b/app/src/translations/de.json index 3de9c84..a921590 100644 --- a/app/src/translations/de.json +++ b/app/src/translations/de.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": "Dein Browser unterstützt keine Spracherkennung", + "room.moderatoractions": null, "me.mutedPTT": "Du bist stummgeschalted, Halte die SPACE-Taste um zu sprechen", @@ -69,6 +70,8 @@ "tooltip.settings": "Einstellungen", "tooltip.participants": "Teilnehmer", "tooltip.kickParticipant": "Teilnehmer rauswerfen", + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Name des Raums", "label.chooseRoomButton": "Weiter", diff --git a/app/src/translations/dk.json b/app/src/translations/dk.json index 72dd7fa..9296f73 100644 --- a/app/src/translations/dk.json +++ b/app/src/translations/dk.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Vis indstillinger", "tooltip.participants": "Vis deltagere", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Værelsesnavn", "label.chooseRoomButton": "Fortsæt", diff --git a/app/src/translations/el.json b/app/src/translations/el.json index 4382464..579ba8c 100644 --- a/app/src/translations/el.json +++ b/app/src/translations/el.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Εμφάνιση ρυθμίσεων", "tooltip.participants": "Εμφάνιση συμμετεχόντων", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Όνομα δωματίου", "label.chooseRoomButton": "Συνέχεια", diff --git a/app/src/translations/en.json b/app/src/translations/en.json index 64e573f..a5a7920 100644 --- a/app/src/translations/en.json +++ b/app/src/translations/en.json @@ -55,6 +55,7 @@ "room.clearChat": "Clear chat", "room.clearFileSharing": "Clear files", "room.speechUnsupported": "Your browser does not support speech recognition", + "room.moderatoractions": "Moderator actions", "me.mutedPTT": "You are muted, hold down SPACE-BAR to talk", @@ -69,6 +70,8 @@ "tooltip.settings": "Show settings", "tooltip.participants": "Show participants", "tooltip.kickParticipant": "Kick out participant", + "tooltip.muteParticipant": "Mute participant", + "tooltip.muteParticipantVideo": "Mute participant video", "label.roomName": "Room name", "label.chooseRoomButton": "Continue", diff --git a/app/src/translations/es.json b/app/src/translations/es.json index f9934f0..a7ef07c 100644 --- a/app/src/translations/es.json +++ b/app/src/translations/es.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Mostrar ajustes", "tooltip.participants": "Mostrar participantes", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Nombre de la sala", "label.chooseRoomButton": "Continuar", diff --git a/app/src/translations/fr.json b/app/src/translations/fr.json index 92b0eeb..f4e8bf0 100644 --- a/app/src/translations/fr.json +++ b/app/src/translations/fr.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Afficher les paramètres", "tooltip.participants": "Afficher les participants", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Nom de la salle", "label.chooseRoomButton": "Continuer", diff --git a/app/src/translations/hr.json b/app/src/translations/hr.json index 5b98eee..8e90529 100644 --- a/app/src/translations/hr.json +++ b/app/src/translations/hr.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": "Vaš preglednik ne podržava prepoznavanje govora", + "room.moderatoractions": null, "me.mutedPTT": "Utišani ste, pritisnite i držite SPACE tipku za razgovor", @@ -69,6 +70,8 @@ "tooltip.settings": "Prikaži postavke", "tooltip.participants": "Pokažite sudionike", "tooltip.kickParticipant": "Izbaci sudionika", + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Naziv sobe", "label.chooseRoomButton": "Nastavi", diff --git a/app/src/translations/hu.json b/app/src/translations/hu.json index 0f00171..1afaeea 100644 --- a/app/src/translations/hu.json +++ b/app/src/translations/hu.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Beállítások", "tooltip.participants": "Résztvevők", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Konferencia", "label.chooseRoomButton": "Tovább", diff --git a/app/src/translations/it.json b/app/src/translations/it.json index 377c0b4..fb61222 100644 --- a/app/src/translations/it.json +++ b/app/src/translations/it.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -68,6 +69,8 @@ "tooltip.lobby": "Mostra lobby", "tooltip.settings": "Mostra impostazioni", "tooltip.participants": "Mostra partecipanti", + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Nome della stanza", "label.chooseRoomButton": "Continua", diff --git a/app/src/translations/nb.json b/app/src/translations/nb.json index 0ee6ed7..275ce5a 100644 --- a/app/src/translations/nb.json +++ b/app/src/translations/nb.json @@ -55,6 +55,7 @@ "room.clearChat": "Tøm chat", "room.clearFileSharing": "Fjern filer", "room.speechUnsupported": "Din nettleser støtter ikke stemmegjenkjenning", + "room.moderatoractions": "Moderatorhandlinger", "me.mutedPTT": "Du er dempet, hold nede SPACE for å snakke", @@ -69,6 +70,8 @@ "tooltip.settings": "Vis innstillinger", "tooltip.participants": "Vis deltakere", "tooltip.kickParticipant": "Spark ut deltaker", + "tooltip.muteParticipant": "Demp deltaker", + "tooltip.muteParticipantVideo": "Demp deltakervideo", "label.roomName": "Møtenavn", "label.chooseRoomButton": "Fortsett", diff --git a/app/src/translations/pl.json b/app/src/translations/pl.json index 6f1c684..f334513 100644 --- a/app/src/translations/pl.json +++ b/app/src/translations/pl.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Pokaż ustawienia", "tooltip.participants": "Pokaż uczestników", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Nazwa konferencji", "label.chooseRoomButton": "Kontynuuj", diff --git a/app/src/translations/pt.json b/app/src/translations/pt.json index 6a9a1e3..0f8b940 100644 --- a/app/src/translations/pt.json +++ b/app/src/translations/pt.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Apresentar definições", "tooltip.participants": "Apresentar participantes", "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Nome da sala", "label.chooseRoomButton": "Continuar", diff --git a/app/src/translations/ro.json b/app/src/translations/ro.json index 89ba3cf..a28a9b5 100644 --- a/app/src/translations/ro.json +++ b/app/src/translations/ro.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "me.mutedPTT": null, @@ -69,6 +70,8 @@ "tooltip.settings": "Arată setăile", "tooltip.participants": null, "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Numele camerei", "label.chooseRoomButton": "Continuare", diff --git a/app/src/translations/tr.json b/app/src/translations/tr.json index 80b96c6..99f2556 100644 --- a/app/src/translations/tr.json +++ b/app/src/translations/tr.json @@ -49,6 +49,13 @@ "room.spotlights": "Gündemdeki Katılımcılar", "room.passive": "Pasif Katılımcılar", "room.videoPaused": "Video duraklatıldı", + "room.muteAll": null, + "room.stopAllVideo": null, + "room.closeMeeting": null, + "room.clearChat": null, + "room.clearFileSharing": null, + "room.speechUnsupported": null, + "room.moderatoractions": null, "tooltip.login": "Giriş", "tooltip.logout": "Çıkış", @@ -60,6 +67,9 @@ "tooltip.lobby": "Lobiyi göster", "tooltip.settings": "Ayarları göster", "tooltip.participants": "Katılımcıları göster", + "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Oda adı", "label.chooseRoomButton": "Devam", diff --git a/app/src/translations/uk.json b/app/src/translations/uk.json index 4974c87..bd59894 100644 --- a/app/src/translations/uk.json +++ b/app/src/translations/uk.json @@ -55,6 +55,7 @@ "room.clearChat": null, "room.clearFileSharing": null, "room.speechUnsupported": null, + "room.moderatoractions": null, "tooltip.login": "Увійти", "tooltip.logout": "Вихід", @@ -66,6 +67,9 @@ "tooltip.lobby": "Показати зал очікувань", "tooltip.settings": "Показати налаштування", "tooltip.participants": "Показати учасників", + "tooltip.kickParticipant": null, + "tooltip.muteParticipant": null, + "tooltip.muteParticipantVideo": null, "label.roomName": "Назва кімнати", "label.chooseRoomButton": "Продовжити",