diff --git a/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/component.jsx b/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/component.jsx index 4aa349f92fd7..4fac4b6d59b1 100755 --- a/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/component.jsx @@ -129,6 +129,7 @@ const VideoListItem = (props) => { onHandleVideoFocus={onHandleVideoFocus} focused={focused} onHandleMirror={() => setIsMirrored((value) => !value)} + isMirrored={isMirrored} isRTL={isRTL} isStream={isStream} onHandleDisableCam={() => setIsSelfViewDisabled((value) => !value)} @@ -156,6 +157,7 @@ const VideoListItem = (props) => { onHandleVideoFocus={onHandleVideoFocus} focused={focused} onHandleMirror={() => setIsMirrored((value) => !value)} + isMirrored={isMirrored} isRTL={isRTL} isStream={isStream} onHandleDisableCam={() => setIsSelfViewDisabled((value) => !value)} @@ -206,6 +208,7 @@ const VideoListItem = (props) => { onHandleVideoFocus={onHandleVideoFocus} focused={focused} onHandleMirror={() => setIsMirrored((value) => !value)} + isMirrored={isMirrored} isRTL={isRTL} isStream={isStream} onHandleDisableCam={() => setIsSelfViewDisabled((value) => !value)} diff --git a/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/user-actions/component.jsx b/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/user-actions/component.jsx index 3fcbb8e2c98e..b9c3ea090ff5 100644 --- a/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/user-actions/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/video-provider/video-list/video-list-item/user-actions/component.jsx @@ -39,11 +39,17 @@ const intlMessages = defineMessages({ unpinDesc: { id: 'app.videoDock.webcamUnpinDesc', }, - mirrorLabel: { - id: 'app.videoDock.webcamMirrorLabel', + enableMirrorLabel: { + id: 'app.videoDock.webcamEnableMirrorLabel', }, - mirrorDesc: { - id: 'app.videoDock.webcamMirrorDesc', + enableMirrorDesc: { + id: 'app.videoDock.webcamEnableMirrorDesc', + }, + disableMirrorLabel: { + id: 'app.videoDock.webcamDisableMirrorLabel', + }, + disableMirrorDesc: { + id: 'app.videoDock.webcamDisableMirrorDesc', }, fullscreenLabel: { id: 'app.videoDock.webcamFullscreenLabel', @@ -61,7 +67,7 @@ const intlMessages = defineMessages({ const UserActions = (props) => { const { name, cameraId, numOfStreams, onHandleVideoFocus, user, focused, onHandleMirror, - isVideoSqueezed, videoContainer, isRTL, isStream, isSelfViewDisabled, + isVideoSqueezed, videoContainer, isRTL, isStream, isSelfViewDisabled, isMirrored, } = props; const intl = useIntl(); @@ -73,6 +79,7 @@ const UserActions = (props) => { const userId = user?.userId; const isPinnedIntlKey = !pinned ? 'pin' : 'unpin'; const isFocusedIntlKey = !focused ? 'focus' : 'unfocus'; + const isMirroredIntlKey = !isMirrored ? 'enableMirror' : 'disableMirror'; const disabledCams = Session.get('disabledCams') || []; const isCameraDisabled = disabledCams && disabledCams?.includes(cameraId); const enableSelfCamIntlKey = !isCameraDisabled ? 'disable' : 'enable'; @@ -120,8 +127,8 @@ const UserActions = (props) => { if (isStream) { menuItems.push({ key: `${cameraId}-mirror`, - label: intl.formatMessage(intlMessages.mirrorLabel), - description: intl.formatMessage(intlMessages.mirrorDesc), + label: intl.formatMessage(intlMessages[`${isMirroredIntlKey}Label`]), + description: intl.formatMessage(intlMessages[`${isMirroredIntlKey}Desc`]), onClick: () => onHandleMirror(cameraId), dataTest: 'mirrorWebcamBtn', }); diff --git a/bigbluebutton-html5/public/locales/en.json b/bigbluebutton-html5/public/locales/en.json index c09a2c879a1c..76f704b408eb 100755 --- a/bigbluebutton-html5/public/locales/en.json +++ b/bigbluebutton-html5/public/locales/en.json @@ -1151,8 +1151,10 @@ "app.feedback.textarea": "How can we make BigBlueButton better?", "app.feedback.sendFeedback": "Send Feedback", "app.feedback.sendFeedbackDesc": "Send a feedback and leave the meeting", - "app.videoDock.webcamMirrorLabel": "Mirror", - "app.videoDock.webcamMirrorDesc": "Mirror the selected webcam", + "app.videoDock.webcamEnableMirrorLabel": "Enable webcam mirroring", + "app.videoDock.webcamEnableMirrorDesc": "Mirror the selected webcam", + "app.videoDock.webcamDisableMirrorLabel": "Disable webcam mirroring", + "app.videoDock.webcamDisableMirrorDesc": "Disable mirroring in the selected webcam", "app.videoDock.webcamFocusLabel": "Focus", "app.videoDock.webcamFocusDesc": "Focus the selected webcam", "app.videoDock.webcamUnfocusLabel": "Unfocus",