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",