diff --git a/Linphone/Localizable.xcstrings b/Linphone/Localizable.xcstrings index 2f86da3a3..1af0329dd 100644 --- a/Linphone/Localizable.xcstrings +++ b/Linphone/Localizable.xcstrings @@ -419,6 +419,9 @@ }, "Job title" : { + }, + "Joining..." : { + }, "Key" : { "extractionState" : "manual" diff --git a/Linphone/UI/Call/CallView.swift b/Linphone/UI/Call/CallView.swift index 3005a880d..03f2cbdcd 100644 --- a/Linphone/UI/Call/CallView.swift +++ b/Linphone/UI/Call/CallView.swift @@ -519,7 +519,7 @@ struct CallView: View { maxHeight: fullscreenVideo && !telecomManager.isPausedByRemote ? geometry.size.height + geometry.safeAreaInsets.top + geometry.safeAreaInsets.bottom : geometry.size.height - (minBottomSheetHeight * geometry.size.height > 80 ? minBottomSheetHeight * geometry.size.height : 78) - 40 - 20 + geometry.safeAreaInsets.bottom ) } - } else if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil { + } else if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil { VStack { Spacer() ZStack { @@ -613,6 +613,27 @@ struct CallView: View { } } } + if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil && callViewModel.activeSpeakerParticipant!.isMuted { + VStack { + HStack { + Spacer() + + HStack(alignment: .center) { + Image("microphone-slash") + .renderingMode(.template) + .resizable() + .foregroundStyle(Color.grayMain2c800) + .frame(width: 20, height: 20) + } + .padding(5) + .background(.white) + .cornerRadius(40) + } + Spacer() + } + .frame(maxWidth: .infinity) + .padding(.all, 20) + } if callViewModel.isConference { HStack { @@ -654,6 +675,7 @@ struct CallView: View { .scaledToFill() .clipped() } + VStack(alignment: .leading) { Spacer() @@ -677,21 +699,63 @@ struct CallView: View { ForEach(0..