mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 11:22:31 +00:00
Make conference info and toolbar appear on top of the filmstrip After a breakpoint, filmstrip pushes over the stage view instead of appearing on top On user resize make tiles wider; after a breakpoint show grid view in the filmstrip On filmstrip visibility toggle animate stage view resize Added config for filmstrip with disableResizableFilmstrip
357 lines
6.4 KiB
SCSS
357 lines
6.4 KiB
SCSS
#videoconference_page {
|
|
min-height: 100%;
|
|
position: relative;
|
|
transform: translate3d(0, 0, 0);
|
|
width: 100%;
|
|
}
|
|
|
|
#layout_wrapper {
|
|
display: flex;
|
|
height: 100%;
|
|
}
|
|
|
|
#videospace {
|
|
display: block;
|
|
height: 100%;
|
|
width: 100%;
|
|
min-height: 100%;
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
right: 0px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#largeVideoBackgroundContainer,
|
|
.large-video-background {
|
|
height: 100%;
|
|
left: 0;
|
|
overflow: hidden;
|
|
position: absolute;
|
|
top: 0;
|
|
width: 100%;
|
|
|
|
#largeVideoBackground {
|
|
min-height: 100%;
|
|
min-width: 100%;
|
|
}
|
|
}
|
|
#largeVideoBackgroundContainer {
|
|
filter: blur(40px);
|
|
}
|
|
|
|
.videocontainer {
|
|
position: relative;
|
|
text-align: center;
|
|
overflow: 'hidden';
|
|
|
|
@media (min-width: 581px) {
|
|
&.shift-right {
|
|
&#largeVideoContainer {
|
|
margin-left: $sidebarWidth;
|
|
width: calc(100% - #{$sidebarWidth});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#localVideoWrapper {
|
|
display:inline-block;
|
|
}
|
|
|
|
.flipVideoX {
|
|
transform: scale(-1, 1);
|
|
-moz-transform: scale(-1, 1);
|
|
-webkit-transform: scale(-1, 1);
|
|
-o-transform: scale(-1, 1);
|
|
}
|
|
|
|
#localVideoWrapper video,
|
|
#localVideoWrapper object {
|
|
border-radius: $borderRadius !important;
|
|
cursor: hand;
|
|
object-fit: cover;
|
|
}
|
|
|
|
#largeVideo,
|
|
#largeVideoWrapper,
|
|
#largeVideoContainer {
|
|
overflow: hidden;
|
|
text-align: center;
|
|
|
|
&.transition {
|
|
transition: width 1s, height 1s, top 1s;
|
|
}
|
|
}
|
|
|
|
#largeVideoContainer {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
#largeVideoWrapper {
|
|
box-shadow: 0 0 20px -2px #444;
|
|
}
|
|
|
|
#largeVideo,
|
|
#largeVideoWrapper
|
|
{
|
|
object-fit: cover;
|
|
}
|
|
|
|
#sharedVideo video {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
#sharedVideo.disable-pointer {
|
|
pointer-events: none;
|
|
}
|
|
|
|
#sharedVideo,
|
|
#etherpad,
|
|
#localVideoWrapper video,
|
|
#localVideoWrapper object,
|
|
#localVideoWrapper,
|
|
#largeVideoWrapper,
|
|
#largeVideoWrapper>video,
|
|
#largeVideoWrapper>object,
|
|
.videocontainer>video,
|
|
.videocontainer>object {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: $zindex1;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
#etherpad {
|
|
text-align: center;
|
|
}
|
|
|
|
#etherpad {
|
|
z-index: $zindex0;
|
|
}
|
|
|
|
#alwaysOnTop .displayname {
|
|
font-size: 15px;
|
|
position: inherit;
|
|
width: 100%;
|
|
left: 0px;
|
|
top: 0px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
/**
|
|
* Audio indicator on video thumbnails.
|
|
*/
|
|
.videocontainer>span.audioindicator,
|
|
.videocontainer>.audioindicator-container {
|
|
position: absolute;
|
|
display: inline-block;
|
|
left: 6px;
|
|
top: 50%;
|
|
margin-top: -17px;
|
|
width: 6px;
|
|
height: 35px;
|
|
z-index: $zindex2;
|
|
border: none;
|
|
|
|
.audiodot-top,
|
|
.audiodot-bottom,
|
|
.audiodot-middle {
|
|
opacity: 0;
|
|
display: inline-block;
|
|
@include circle(5px);
|
|
background: $audioLevelShadow;
|
|
margin: 1px 0 1px 0;
|
|
transition: opacity .25s ease-in-out;
|
|
-moz-transition: opacity .25s ease-in-out;
|
|
}
|
|
|
|
span.audiodot-top::after,
|
|
span.audiodot-bottom::after,
|
|
span.audiodot-middle::after {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 5px;
|
|
height: 5px;
|
|
border-radius: 50%;
|
|
-webkit-filter: blur(0.5px);
|
|
filter: blur(0.5px);
|
|
background: $audioLevelBg;
|
|
}
|
|
}
|
|
|
|
#reloadPresentation {
|
|
display: none;
|
|
position: absolute;
|
|
color: #FFFFFF;
|
|
top: 0;
|
|
right:0;
|
|
padding: 10px 10px;
|
|
font-size: 11pt;
|
|
cursor: pointer;
|
|
background: rgba(0, 0, 0, 0.3);
|
|
border-radius: 5px;
|
|
background-clip: padding-box;
|
|
-webkit-border-radius: 5px;
|
|
-webkit-background-clip: padding-box;
|
|
z-index: $reloadZ; /*The reload button should appear on top of the header!*/
|
|
}
|
|
|
|
#dominantSpeaker {
|
|
visibility: hidden;
|
|
width: 300px;
|
|
height: 300px;
|
|
margin: auto;
|
|
position: relative;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
#mixedstream {
|
|
display:none !important;
|
|
}
|
|
|
|
#dominantSpeakerAvatarContainer,
|
|
.dynamic-shadow {
|
|
width: 200px;
|
|
height: 200px;
|
|
}
|
|
|
|
#dominantSpeakerAvatarContainer {
|
|
top: 50px;
|
|
margin: auto;
|
|
position: relative;
|
|
overflow: hidden;
|
|
visibility: inherit;
|
|
}
|
|
|
|
.dynamic-shadow {
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
margin: -100px 0 0 -100px;
|
|
transition: box-shadow 0.3s ease;
|
|
}
|
|
|
|
.avatar-container {
|
|
@include maxSize(60px);
|
|
@include absoluteAligning();
|
|
display: flex;
|
|
justify-content: center;
|
|
height: 50%;
|
|
width: auto;
|
|
overflow: hidden;
|
|
|
|
.userAvatar {
|
|
height: 100%;
|
|
object-fit: cover;
|
|
width: 100%;
|
|
top: 0px;
|
|
left: 0px;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
#videoNotAvailableScreen {
|
|
text-align: center;
|
|
#avatarContainer {
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
height: 50vh;
|
|
margin-top: 25vh;
|
|
overflow: hidden;
|
|
width: 50vh;
|
|
|
|
#avatar {
|
|
height: 100%;
|
|
object-fit: cover;
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.sharedVideoAvatar {
|
|
position: absolute;
|
|
left: 0px;
|
|
top: 0px;
|
|
height: 100%;
|
|
width: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.videoMessageFilter {
|
|
-webkit-filter: grayscale(.5) opacity(0.8);
|
|
filter: grayscale(.5) opacity(0.8);
|
|
}
|
|
|
|
#remotePresenceMessage,
|
|
#remoteConnectionMessage {
|
|
position: absolute;
|
|
width: auto;
|
|
z-index: $zindex2;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
text-align: center;
|
|
color: #FFF;
|
|
left: 50%;
|
|
transform: translate(-50%, 0);
|
|
}
|
|
#remotePresenceMessage .presence-label,
|
|
#remoteConnectionMessage {
|
|
opacity: .80;
|
|
text-shadow: 0px 0px 1px rgba(0,0,0,0.3),
|
|
0px 1px 1px rgba(0,0,0,0.3),
|
|
1px 0px 1px rgba(0,0,0,0.3),
|
|
0px 0px 1px rgba(0,0,0,0.3);
|
|
|
|
background: rgba(0,0,0,.5);
|
|
border-radius: 5px;
|
|
padding: 5px;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
}
|
|
#remoteConnectionMessage {
|
|
display: none;
|
|
}
|
|
|
|
.display-video {
|
|
.avatar-container {
|
|
visibility: hidden;
|
|
}
|
|
|
|
video {
|
|
visibility: visible;
|
|
}
|
|
}
|
|
|
|
.display-avatar-only {
|
|
.avatar-container {
|
|
visibility: visible;
|
|
}
|
|
|
|
video {
|
|
visibility: hidden;
|
|
}
|
|
}
|
|
|
|
.presence-label {
|
|
color: $participantNameColor;
|
|
font-size: 12px;
|
|
font-weight: 100;
|
|
left: 0;
|
|
margin: 0 auto;
|
|
overflow: hidden;
|
|
pointer-events: none;
|
|
right: 0;
|
|
text-align: center;
|
|
text-overflow: ellipsis;
|
|
top: calc(50% + 30px);
|
|
white-space: nowrap;
|
|
width: 100%;
|
|
}
|