الملفات
codepill-sfu/public/css/VideoGrid.css
2025-01-15 22:14:23 +01:00

394 أسطر
7.3 KiB
CSS

/*--------------------------------------------------------------
# Video grid
--------------------------------------------------------------*/
#videoMediaContainer {
z-index: 1;
position: absolute;
display: flex;
top: 0;
width: 100%;
height: 100%;
border-radius: 5px;
opacity: 1;
align-content: center;
flex-wrap: wrap;
align-items: center;
justify-content: center;
vertical-align: middle;
overflow: hidden;
transition: opacity 500ms;
/* border: 3px solid blue; */
}
#videoPinMediaContainer {
z-index: 1;
position: absolute;
display: none;
top: 0;
left: 0;
width: 75%;
height: 100%;
border-radius: 5px;
box-shadow: var(--box-shadow);
overflow: hidden;
/* animation: show 0.4s ease; */
/* border: 3px solid lime; */
}
.Camera {
position: relative;
vertical-align: middle;
align-self: center;
overflow: hidden;
display: inline-block;
background: transparent;
border-radius: 10px;
/* border: var(--border); */
box-shadow: var(--box-shadow);
animation: show 0.4s ease;
}
/* .Camera:hover {
border: 3px solid rgb(113, 157, 239);
} */
.Camera .fa-hand-paper {
margin: 10px !important;
font-size: 1.5rem !important;
}
#videoMediaContainer i {
position: absolute;
display: none;
top: 0;
color: rgb(0, 255, 71);
font-size: 14px;
align-items: center;
padding: 5px;
margin: 5px;
width: auto;
height: 25px;
border-radius: 5px;
background: rgba(0, 0, 0, 0.4);
}
.videoAvatarImage {
z-index: 7;
position: absolute;
display: none;
width: var(--vmi-wh);
height: var(--vmi-wh);
border-radius: 50%;
transition: box-shadow 0.3s ease;
}
.audio {
position: absolute;
right: 0;
color: #fff;
margin: 5px;
width: auto;
height: 25px;
border-radius: 5px;
background: rgba(0, 0, 0, 0.1);
}
.username {
z-index: 1;
position: absolute;
right: 0;
bottom: 0;
color: #fff;
font-size: 10px;
display: flex;
align-items: center;
padding: 10px;
margin: 10px;
width: auto;
height: 25px;
border-radius: 5px;
background: var(--body-bg);
}
.fscreen {
position: absolute;
right: 0;
bottom: 0px;
color: #fff;
margin: 5px;
width: auto;
height: 25px;
border-radius: 5px;
background: rgba(0, 0, 0, 0.1);
}
.videoMenuBar {
z-index: 2;
position: fixed;
display: inline;
top: 0;
left: 0;
padding: 15px;
width: 100%;
font-size: small;
font-weight: bold;
text-align: center;
background: var(--body-bg);
cursor: default;
overflow: hidden;
}
.videoMenuBarClose {
position: absolute;
display: flex;
top: 30px;
right: 30px;
padding: 10px;
border-radius: 50%;
color: white;
align-items: center;
justify-content: center;
cursor: pointer;
user-select: none;
background: var(--body-bg);
}
.videoMenuBarClose:hover {
background: var(--btns-bg-color);
}
.videoAvatarMenuBar,
.videoMenuBarShare {
z-index: 2;
position: absolute;
display: inline;
top: 0;
left: 0;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
font-size: small;
font-weight: bold;
text-align: center;
width: 100%;
cursor: default;
overflow: hidden;
}
.videoMenuBar input,
.videoMenuBar button,
.videoAvatarMenuBar button,
.videoMenuBarShare button {
font-size: 1.2rem;
float: right;
color: #fff;
background: transparent;
border-radius: 5px;
display: inline;
border: none;
}
.videoMenuBar button:hover,
.videoAvatarMenuBar button:hover,
.videoMenuBarShare button:hover {
color: grey;
transition: all 0.3s ease-in-out;
}
.expand-video .fa-bars {
color: #66beff !important;
}
.expand-video .dropdown-button {
cursor: pointer;
position: relative;
}
.expand-video-content {
z-index: 1;
display: none;
position: fixed;
right: 10px;
width: calc(100% - 20px);
max-width: 500px;
padding: 20px;
border-radius: 5px;
background: var(--body-bg);
box-shadow: var(--box-shadow);
}
.expand-video:hover .expand-video-content {
z-index: 1;
display: grid !important;
grid-gap: 5px 5px;
grid-template-columns: 50%;
grid-template-areas:
'header header'
'controls controls';
align-content: start;
justify-items: start;
overflow-y: auto;
}
.peer-name-container {
display: row;
width: 100%;
height: 100%;
padding: 10px;
margin: 10px;
}
.expand-video-content .peer-name-header {
grid-area: header;
width: 100%;
padding: 40px;
height: 120px;
background: var(--btns-bg-color);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
border-radius: 10px;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: center;
}
.expand-video-content .peer-name {
font-size: 18px;
font-weight: bold;
color: #fff;
background: var(--body-bg);
border-radius: 10px;
padding: 6px;
width: 100%;
}
.expand-video-content input[type='range'] {
display: inline !important;
width: 100%;
margin: 16px 0;
background: rgba(255, 255, 255, 0.1);
height: 6px;
}
.expand-video-content button {
display: flex !important;
font-size: 16px;
color: #fff;
background: var(--btns-bg-color);
width: 100%;
height: 45px;
justify-content: center;
align-items: center;
border-radius: 10px;
}
.expand-video-content button:hover {
color: white;
background: var(--body-bg);
}
#videoMediaContainer video {
position: absolute;
margin-left: auto;
margin-right: auto;
}
.videoCircle {
position: absolute;
width: var(--vmi-wh);
height: var(--vmi-wh);
border-radius: 50%;
/* center */
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
transition: box-shadow 0.3s ease;
}
.videoDefault {
position: absolute;
width: 100%;
height: 100%;
border-radius: '10px';
transition: box-shadow 0.3s ease;
}
video {
width: 100%;
height: 100%;
object-fit: var(--videoObjFit);
border-radius: 10px;
cursor: pointer;
transition: transform 0.3s ease-in-out;
}
#canvasAIElement {
width: 100%;
height: 100%;
object-fit: var(--videoObjFit);
border-radius: 10px;
cursor: pointer;
}
video:hover {
filter: contrast(105%);
}
video:fullscreen {
object-fit: contain;
}
.mirror {
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.blur {
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
input[type='range'] {
/* display: none; */
color: #fff;
width: 50px;
cursor: pointer;
}
@keyframes show {
0% {
opacity: 0;
transform: scale(0.4) translateY(20px);
}
100% {
opacity: 1;
transform: scale(1) translateY(0);
}
}
@media screen and (max-width: 500px) {
.username {
font-size: 10px;
}
.videoMenuBar input,
.videoMenuBar button,
.videoMenuBarShare button {
font-size: 1rem;
}
.expand-video-content {
min-width: 100%;
left: 0px;
}
.expand-video-content .peer-name {
font-size: 12px;
}
}