diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss index 00d6dc9748dc..f8257afab9e0 100644 --- a/stylesheets/_modules.scss +++ b/stylesheets/_modules.scss @@ -3745,12 +3745,14 @@ button.module-image__border-overlay:focus { z-index: $z-index-above-base; &__contact-name { + font-size: 12px; color: $color-white; margin-right: 20px; overflow: hidden; text-overflow: ellipsis; visibility: hidden; white-space: nowrap; + margin-bottom: 2px; } } @@ -3902,10 +3904,6 @@ button.module-image__border-overlay:focus { position: relative; width: 100%; - .module-ongoing-call__group-call-remote-participant--audio-muted::after { - display: none; - } - // The avatar image can be dragged on Windows. .module-Avatar img { -webkit-user-drag: none; diff --git a/stylesheets/components/CallingAudioIndicator.scss b/stylesheets/components/CallingAudioIndicator.scss index 9b403d6576ad..9a3a0be0dcbb 100644 --- a/stylesheets/components/CallingAudioIndicator.scss +++ b/stylesheets/components/CallingAudioIndicator.scss @@ -2,13 +2,36 @@ // SPDX-License-Identifier: AGPL-3.0-only .CallingAudioIndicator { - $size: 14px; + $size: 20px; + + display: flex; + align-items: center; + justify-content: center; height: $size; min-width: $size; width: $size; z-index: $z-index-base; + border-radius: calc($size / 2); - &--muted { - @include color-svg('../images/icons/v2/mic-off-solid-28.svg', $color-white); + &--with-content { + background: $color-black-alpha-30; + } + + &__content { + $size: 14px; + width: $size; + height: $size; + + /* Center Lottie animation */ + display: flex; + align-items: center; + justify-content: center; + + &--muted { + @include color-svg( + '../images/icons/v2/mic-off-solid-28.svg', + $color-white + ); + } } } diff --git a/ts/components/CallingAudioIndicator.tsx b/ts/components/CallingAudioIndicator.tsx index 26d495bd03be..14f7c509999d 100644 --- a/ts/components/CallingAudioIndicator.tsx +++ b/ts/components/CallingAudioIndicator.tsx @@ -1,6 +1,7 @@ // Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only +import classNames from 'classnames'; import { noop } from 'lodash'; import type { ReactElement } from 'react'; import React, { useEffect, useState } from 'react'; @@ -9,6 +10,9 @@ import { Lottie } from './Lottie'; const SPEAKING_LINGER_MS = 100; +const BASE_CLASS_NAME = 'CallingAudioIndicator'; +const CONTENT_CLASS_NAME = `${BASE_CLASS_NAME}__content`; + export function CallingAudioIndicator({ hasAudio, isSpeaking, @@ -31,16 +35,35 @@ export function CallingAudioIndicator({ if (!hasAudio) { return ( -
+
+
+
); } if (shouldShowSpeaking) { return ( - +
+ +
); } // Render an empty spacer so that names don't move around. - return
; + return
; } diff --git a/ts/components/GroupCallRemoteParticipant.tsx b/ts/components/GroupCallRemoteParticipant.tsx index 92440794e1e3..2ad4981cd60e 100644 --- a/ts/components/GroupCallRemoteParticipant.tsx +++ b/ts/components/GroupCallRemoteParticipant.tsx @@ -273,11 +273,7 @@ export const GroupCallRemoteParticipant: React.FC = React.memo( {!props.isInPip && (