|
@@ -17,6 +17,11 @@ type Props = {
|
17
|
17
|
*/
|
18
|
18
|
_buttons: Array<string>,
|
19
|
19
|
|
|
20
|
+ /**
|
|
21
|
+ * The branding background of the premeeting screen(lobby/prejoin).
|
|
22
|
+ */
|
|
23
|
+ _premeetingBackground: string,
|
|
24
|
+
|
20
|
25
|
/**
|
21
|
26
|
* Children component(s) to be rendered on the screen.
|
22
|
27
|
*/
|
|
@@ -91,6 +96,7 @@ class PreMeetingScreen extends PureComponent<Props> {
|
91
|
96
|
render() {
|
92
|
97
|
const {
|
93
|
98
|
_buttons,
|
|
99
|
+ _premeetingBackground,
|
94
|
100
|
children,
|
95
|
101
|
className,
|
96
|
102
|
showDeviceStatus,
|
|
@@ -101,23 +107,29 @@ class PreMeetingScreen extends PureComponent<Props> {
|
101
|
107
|
} = this.props;
|
102
|
108
|
|
103
|
109
|
const containerClassName = `premeeting-screen ${className ? className : ''}`;
|
|
110
|
+ const style = _premeetingBackground ? {
|
|
111
|
+ background: _premeetingBackground,
|
|
112
|
+ backgroundPosition: 'center',
|
|
113
|
+ backgroundSize: 'cover'
|
|
114
|
+ } : {};
|
104
|
115
|
|
105
|
116
|
return (
|
106
|
117
|
<div className = { containerClassName }>
|
107
|
|
- <div className = 'content'>
|
108
|
|
- <ConnectionStatus />
|
109
|
|
-
|
110
|
|
- <div className = 'content-controls'>
|
111
|
|
- <h1 className = 'title'>
|
112
|
|
- { title }
|
113
|
|
- </h1>
|
114
|
|
- { children }
|
115
|
|
- { _buttons.length && <Toolbox toolbarButtons = { _buttons } /> }
|
116
|
|
- { skipPrejoinButton }
|
117
|
|
- { showDeviceStatus && <DeviceStatus /> }
|
|
118
|
+ <div style = { style }>
|
|
119
|
+ <div className = 'content'>
|
|
120
|
+ <ConnectionStatus />
|
|
121
|
+
|
|
122
|
+ <div className = 'content-controls'>
|
|
123
|
+ <h1 className = 'title'>
|
|
124
|
+ { title }
|
|
125
|
+ </h1>
|
|
126
|
+ { children }
|
|
127
|
+ { _buttons.length && <Toolbox toolbarButtons = { _buttons } /> }
|
|
128
|
+ { skipPrejoinButton }
|
|
129
|
+ { showDeviceStatus && <DeviceStatus /> }
|
|
130
|
+ </div>
|
118
|
131
|
</div>
|
119
|
132
|
</div>
|
120
|
|
-
|
121
|
133
|
<Preview
|
122
|
134
|
videoMuted = { videoMuted }
|
123
|
135
|
videoTrack = { videoTrack } />
|
|
@@ -139,9 +151,11 @@ function mapStateToProps(state, ownProps): Object {
|
139
|
151
|
const premeetingButtons = ownProps.thirdParty
|
140
|
152
|
? THIRD_PARTY_PREJOIN_BUTTONS
|
141
|
153
|
: PREMEETING_BUTTONS;
|
|
154
|
+ const { premeetingBackground } = state['features/dynamic-branding'];
|
142
|
155
|
|
143
|
156
|
return {
|
144
|
|
- _buttons: premeetingButtons.filter(b => !hideButtons.includes(b))
|
|
157
|
+ _buttons: premeetingButtons.filter(b => !hideButtons.includes(b)),
|
|
158
|
+ _premeetingBackground: premeetingBackground
|
145
|
159
|
};
|
146
|
160
|
}
|
147
|
161
|
|