From 226a5bda63cc75bd2f9bf44ba95a57d7e30be6fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81tila?= <91704222+AtilaU19@users.noreply.github.com>
Date: Tue, 27 Aug 2024 13:39:11 -0300
Subject: [PATCH] feat(modal): added blur backdrop filter when user join the
room (#21029)
---
.../audio/audio-modal/component.jsx | 58 +++++------
.../ui/components/audio/audio-modal/styles.js | 14 +++
.../ui/components/video-preview/component.jsx | 96 ++++++++++---------
.../ui/components/video-preview/styles.js | 14 +++
4 files changed, 109 insertions(+), 73 deletions(-)
diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-modal/component.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-modal/component.jsx
index fe7f26bf1e..b3602fdccb 100755
--- a/bigbluebutton-html5/imports/ui/components/audio/audio-modal/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/audio/audio-modal/component.jsx
@@ -681,34 +681,36 @@ const AudioModal = ({
: null;
return (
-
- {isIE ? (
-
- Chrome,
- 1: Firefox,
- }}
- />
-
- ) : null}
-
- {renderContent()}
-
-
+
+
+ {isIE ? (
+
+ Chrome,
+ 1: Firefox,
+ }}
+ />
+
+ ) : null}
+
+ {renderContent()}
+
+
+
);
};
diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-modal/styles.js b/bigbluebutton-html5/imports/ui/components/audio/audio-modal/styles.js
index 18feb0ad33..4d3148de1f 100644
--- a/bigbluebutton-html5/imports/ui/components/audio/audio-modal/styles.js
+++ b/bigbluebutton-html5/imports/ui/components/audio/audio-modal/styles.js
@@ -139,10 +139,24 @@ const Content = styled.div`
}
`;
+const Background = styled.span`
+ ${({ isBlurred }) => isBlurred
+ && css`
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ backdrop-filter: blur(10px);
+ z-index: 998;
+ `}
+`;
+
export default {
AudioOptions,
AudioModalButton,
AudioDial,
+ Background,
Connecting,
ConnectingAnimation,
AudioModal,
diff --git a/bigbluebutton-html5/imports/ui/components/video-preview/component.jsx b/bigbluebutton-html5/imports/ui/components/video-preview/component.jsx
index 89e3c1f29e..efcd18d2ed 100755
--- a/bigbluebutton-html5/imports/ui/components/video-preview/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/video-preview/component.jsx
@@ -26,6 +26,8 @@ import Checkbox from '/imports/ui/components/common/checkbox/component'
import AppService from '/imports/ui/components/app/service';
import { CustomVirtualBackgroundsContext } from '/imports/ui/components/video-preview/virtual-background/context';
import VBGSelectorService from '/imports/ui/components/video-preview/virtual-background/service';
+import Storage from '/imports/ui/services/storage/session';
+import getFromUserSettings from '/imports/ui/services/users-settings';
const VIEW_STATES = {
finding: 'finding',
@@ -1311,6 +1313,8 @@ class VideoPreview extends Component {
const WebcamBackgroundImg = `${BASE_NAME}/resources/images/webcam_background.svg`;
const darkThemeState = AppService.isDarkThemeEnabled();
+ const isBlurred = Storage.getItem('isFirstJoin') !== false
+ && getFromUserSettings('bbb_auto_share_webcam', window.meetingClientSettings.public.kurento.autoShareWebcam);
if (isCamLocked === true) {
this.handleProceed();
@@ -1336,58 +1340,60 @@ class VideoPreview extends Component {
&& isVirtualBackgroundSupported()
return (
-
-
-
-
-
-
-
- {this.getModalTitle()}
-
-
- {shouldShowVirtualBackgroundsTab && (
- <>
-
+
+
+
+
+
+
- {intl.formatMessage(intlMessages.webcamVirtualBackgroundTitle)}
+ {this.getModalTitle()}
+
- >
- )}
-
-
-
-
+ {shouldShowVirtualBackgroundsTab && (
+ <>
+
+
+
+ {intl.formatMessage(intlMessages.webcamVirtualBackgroundTitle)}
+
+ >
+ )}
+
+
+
+
- {deviceInfo.hasMediaDevices
- ? this.renderModalContent(selectedTab)
- : this.supportWarning()
- }
+ {deviceInfo.hasMediaDevices
+ ? this.renderModalContent(selectedTab)
+ : this.supportWarning()
+ }
-
-
+
+
+
);
}
}
diff --git a/bigbluebutton-html5/imports/ui/components/video-preview/styles.js b/bigbluebutton-html5/imports/ui/components/video-preview/styles.js
index 91ba70c922..38dac61720 100644
--- a/bigbluebutton-html5/imports/ui/components/video-preview/styles.js
+++ b/bigbluebutton-html5/imports/ui/components/video-preview/styles.js
@@ -255,6 +255,19 @@ const ellipsis = keyframes`
}
`;
+const Background = styled.span`
+ ${({ isBlurred }) => isBlurred
+ && css`
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ backdrop-filter: blur(10px);
+ z-index: 998;
+ `}
+`;
+
const FetchingAnimation = styled.span`
margin: auto;
display: inline-block;
@@ -413,6 +426,7 @@ export default {
BottomSeparator,
VideoCol,
BackgroundCol,
+ Background,
IconSvg,
SharingButton,
CancelButton,