This repository was archived by the owner on Sep 11, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 819
Show a lobby screen in video rooms #8287
Merged
Merged
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
5e215b5
Show a lobby screen in video rooms
robintown 5c431c7
Add connecting state
robintown fb36fe0
Test VideoRoomView
robintown 9a386cf
Test VideoLobby
robintown 1032f07
Merge branch 'develop' into video-room-lobby
robintown c0ae630
Get the local video stream with useAsyncMemo
robintown 861cce5
Clean up code review nits
robintown 256ca1d
Explicitly state what !important is overriding
robintown b3522b5
Use spacing variables
robintown 76822b8
Wait for video channel messaging
robintown 5a9cbec
Update join button copy
robintown c1269d9
Show frame on both the lobby and widget
robintown cf4f3ef
Force dark theme for video lobby
robintown 4f71425
Wait for the widget to be ready
robintown 56ea403
Make VideoChannelStore constructor private
robintown 4dc71a8
Merge branch 'develop' into video-room-lobby
robintown 8b3c114
Allow video lobby to shrink
robintown e0d0ac9
Add invite button to video room header
robintown 24d612f
Show connected members on lobby screen
robintown 0d998a7
Make avatars in video lobby clickable
robintown a257abf
Merge branch 'develop' into video-room-lobby
robintown edecb6e
Merge branch 'develop' into video-room-lobby
robintown 95213b1
Increase video channel store timeout
robintown 9f77b8c
Fix Jitsi Meet getting wedged on startup in Chrome and Safari
robintown 7b38e58
Merge branch 'develop' into video-room-lobby
robintown f43fb08
Revert "Fix Jitsi Meet getting wedged on startup in Chrome and Safari"
robintown fe99a88
Disable device buttons while connecting
robintown 9529461
Factor RoomFacePile into a separate file
robintown bc43dec
Fix i18n lint
robintown b3c2cbd
Merge branch 'develop' into video-room-lobby
robintown 1ea8ee2
Fix switching video channels while connected
robintown 64efeb7
Merge branch 'develop' into video-room-lobby
robintown 2147f82
Properly limit number of connected members in face pile
robintown 324c96a
Merge branch 'develop' into video-room-lobby
robintown a15cd6c
Fix CSS lint
robintown File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/* | ||
Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
.mx_VideoRoomView { | ||
flex-grow: 1; | ||
min-height: 0; | ||
|
||
display: flex; | ||
flex-direction: column; | ||
margin: $container-gap-width; | ||
margin-right: calc($container-gap-width / 2); | ||
|
||
background-color: $header-panel-bg-color; | ||
padding-top: 33px; // to match the right panel chat heading | ||
border: 8px solid $header-panel-bg-color; | ||
border-radius: 8px; | ||
|
||
.mx_AppTile { | ||
width: auto; | ||
height: 100%; | ||
border: none; | ||
} | ||
|
||
// While the lobby is shown, the widget needs to stay loaded but hidden in the background | ||
.mx_VideoLobby ~ .mx_AppTile { | ||
display: none; | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
/* | ||
Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
.mx_VideoLobby { | ||
min-height: 0; | ||
flex-grow: 1; | ||
padding: $spacing-12; | ||
color: $video-lobby-primary-content; | ||
background-color: $video-lobby-background; | ||
border-radius: 8px; | ||
|
||
display: flex; | ||
flex-direction: column; | ||
align-items: center; | ||
justify-content: center; | ||
gap: $spacing-32; | ||
|
||
.mx_FacePile { | ||
width: fit-content; | ||
margin: $spacing-8 auto 0; | ||
|
||
.mx_FacePile_faces .mx_BaseAvatar_image { | ||
border-color: $video-lobby-background; | ||
} | ||
} | ||
|
||
.mx_VideoLobby_preview { | ||
position: relative; | ||
width: 100%; | ||
max-width: 800px; | ||
aspect-ratio: 1.5; | ||
background-color: $video-lobby-system; | ||
|
||
border-radius: 20px; | ||
overflow: hidden; | ||
|
||
display: flex; | ||
flex-direction: column; | ||
justify-content: center; | ||
align-items: center; | ||
|
||
.mx_BaseAvatar { | ||
margin: $spacing-20; | ||
|
||
// Override the explicit dimensions on the element so that this gets sized responsively | ||
width: unset !important; | ||
height: unset !important; | ||
min-width: 0; | ||
min-height: 0; | ||
flex: 0 1 200px; | ||
} | ||
|
||
video { | ||
position: absolute; | ||
top: 0; | ||
width: 100%; | ||
height: 100%; | ||
object-fit: cover; | ||
display: block; | ||
transform: scaleX(-1); // flip the image | ||
background-color: black; | ||
} | ||
|
||
.mx_VideoLobby_controls { | ||
position: absolute; | ||
bottom: 0; | ||
left: 0; | ||
right: 0; | ||
|
||
background-color: rgba($video-lobby-background, 0.9); | ||
|
||
display: flex; | ||
justify-content: center; | ||
gap: $spacing-24; | ||
|
||
.mx_VideoLobby_deviceButtonWrapper { | ||
position: relative; | ||
margin: 6px 0 10px; | ||
|
||
.mx_VideoLobby_deviceButton { | ||
$size: 50px; | ||
|
||
width: $size; | ||
height: $size; | ||
|
||
background-color: $video-lobby-primary-content; | ||
border-radius: calc($size / 2); | ||
|
||
&::before { | ||
content: ''; | ||
display: inline-block; | ||
mask-repeat: no-repeat; | ||
mask-size: 20px; | ||
mask-position: center; | ||
background-color: $video-lobby-system; | ||
height: 100%; | ||
width: 100%; | ||
} | ||
|
||
&.mx_VideoLobby_deviceButton_audio::before { | ||
mask-image: url('$(res)/img/voip/call-view/mic-off.svg'); | ||
} | ||
|
||
&.mx_VideoLobby_deviceButton_video::before { | ||
mask-image: url('$(res)/img/voip/call-view/cam-off.svg'); | ||
} | ||
} | ||
|
||
.mx_VideoLobby_deviceListButton { | ||
$size: 15px; | ||
|
||
position: absolute; | ||
bottom: 0; | ||
right: -2.5px; | ||
width: $size; | ||
height: $size; | ||
|
||
background-color: $video-lobby-primary-content; | ||
border-radius: calc($size / 2); | ||
|
||
&::before { | ||
content: ''; | ||
display: inline-block; | ||
mask-image: url('$(res)/img/feather-customised/chevron-down.svg'); | ||
mask-size: $size; | ||
mask-position: center; | ||
background-color: $video-lobby-system; | ||
height: 100%; | ||
width: 100%; | ||
} | ||
} | ||
|
||
&.mx_VideoLobby_deviceButtonWrapper_active { | ||
.mx_VideoLobby_deviceButton, | ||
.mx_VideoLobby_deviceListButton { | ||
background-color: $video-lobby-system; | ||
|
||
&::before { | ||
background-color: $video-lobby-primary-content; | ||
} | ||
} | ||
|
||
.mx_VideoLobby_deviceButton { | ||
&.mx_VideoLobby_deviceButton_audio::before { | ||
mask-image: url('$(res)/img/voip/call-view/mic-on.svg'); | ||
} | ||
|
||
&.mx_VideoLobby_deviceButton_video::before { | ||
mask-image: url('$(res)/img/voip/call-view/cam-on.svg'); | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
.mx_VideoLobby_joinButton { | ||
padding-left: 50px; | ||
padding-right: 50px; | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.