diff --git a/css/icons.scss b/css/icons.scss index cea8444f252..77155077710 100644 --- a/css/icons.scss +++ b/css/icons.scss @@ -64,12 +64,6 @@ &.icon-grid-view { background-image: url(icon-color-path('toggle-pictures', 'actions', 'fff', 1, true)); } - &.icon-audio { - background-image: url(icon-color-path('audio', 'actions', 'fff', 1, true)); - } - &.icon-audio-off { - background-image: url(icon-color-path('audio-off', 'actions', 'fff', 1, true)); - } &.icon-video { background-image: url(icon-color-path('video', 'actions', 'fff', 1, true)); } diff --git a/src/components/CallView/CallView.vue b/src/components/CallView/CallView.vue index b53aa98d6aa..764d8c7385b 100644 --- a/src/components/CallView/CallView.vue +++ b/src/components/CallView/CallView.vue @@ -782,7 +782,7 @@ export default { } #videos .videoContainer.speaking:not(.videoView) ::v-deep .nameIndicator, -#videos .videoContainer.videoView.speaking ::v-deep .nameIndicator .icon-audio { +#videos .videoContainer.videoView.speaking ::v-deep .nameIndicator .microphone-icon { animation: pulse 1s; animation-iteration-count: infinite; } diff --git a/src/components/CallView/shared/LocalMediaControls.vue b/src/components/CallView/shared/LocalMediaControls.vue index 5bef8676f8c..47d22810743 100644 --- a/src/components/CallView/shared/LocalMediaControls.vue +++ b/src/components/CallView/shared/LocalMediaControls.vue @@ -28,9 +28,14 @@ v-tooltip="audioButtonTooltip" :aria-label="audioButtonAriaLabel" :class="audioButtonClass" - class="forced-white" @shortkey="toggleAudio" - @click="toggleAudio" /> + @click="toggleAudio"> + + @@ -161,6 +166,9 @@ import escapeHtml from 'escape-html' import { emit } from '@nextcloud/event-bus' import { showMessage } from '@nextcloud/dialogs' import Hand from 'vue-material-design-icons/Hand' +import Microphone from 'vue-material-design-icons/Microphone' +import MicrophoneOff from 'vue-material-design-icons/MicrophoneOff' +import MicrophoneOutline from 'vue-material-design-icons/MicrophoneOutline' import Popover from '@nextcloud/vue/dist/Components/Popover' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import SpeakingWhileMutedWarner from '../../../utils/webrtc/SpeakingWhileMutedWarner' @@ -184,6 +192,9 @@ export default { ActionSeparator, ActionButton, Hand, + Microphone, + MicrophoneOff, + MicrophoneOutline, }, props: { @@ -231,13 +242,21 @@ export default { audioButtonClass() { return { - 'icon-audio': this.model.attributes.audioAvailable && this.model.attributes.audioEnabled, 'audio-disabled': this.model.attributes.audioAvailable && !this.model.attributes.audioEnabled, - 'icon-audio-off': !this.model.attributes.audioAvailable || !this.model.attributes.audioEnabled, 'no-audio-available': !this.model.attributes.audioAvailable, } }, + audioButtonComponent() { + if (this.model.attributes.audioAvailable) { + if (this.model.attributes.audioEnabled) { + return 'Microphone' + } + return 'MicrophoneOff' + } + return 'MicrophoneOutline' + }, + audioButtonTooltip() { if (!this.model.attributes.audioAvailable) { return { @@ -770,7 +789,7 @@ export default { opacity: 0.7; } -#muteWrapper .icon-audio-off + .volume-indicator { +#muteWrapper .microphone-off-icon + .volume-indicator { background: linear-gradient(0deg, gray, white 36px); } diff --git a/src/components/MediaDevicesPreview.vue b/src/components/MediaDevicesPreview.vue index ab96a9bc0d0..7215832d118 100644 --- a/src/components/MediaDevicesPreview.vue +++ b/src/components/MediaDevicesPreview.vue @@ -30,10 +30,16 @@ class="preview-not-available">
-
-
+ +

@@ -44,7 +50,10 @@ reference is always valid once mounted. -->

-
+ @@ -83,6 +92,8 @@