Working fullscreen view

This commit is contained in:
Håvar Aambø Fosstveit
2018-06-22 11:45:02 +02:00
parent fa94a62d9d
commit 3b03b24cc4
13 changed files with 311 additions and 23 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
max-width: 300px;
right: 0;
width: 90vw;
z-index: 9999;
z-index: 100;
> .launcher {
align-self: flex-end;
+75
View File
@@ -0,0 +1,75 @@
[data-component='FullScreenView'] {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 200;
> .controls {
position: absolute;
z-index: 201;
right: 0;
top: 0;
display: flex;
flex-direction:; row;
justify-content: flex-start;
align-items: center;
padding: 0.4vmin;
> .button {
flex: 0 0 auto;
margin: 0.2vmin;
border-radius: 2px;
background-position: center;
background-size: 75%;
background-repeat: no-repeat;
background-color: rgba(#000, 0.5);
cursor: pointer;
transition-property: opacity, background-color;
transition-duration: 0.15s;
+desktop() {
width: 5vmin;
height: 5vmin;
opacity: 0.85;
&:hover {
opacity: 1;
}
}
+mobile() {
width: 5vmin;
height: 5vmin;
}
&.fullscreen {
background-image: url('/resources/images/icon_fullscreen_exit_black.svg');
background-color: rgba(#fff, 0.7);
}
}
}
.incompatible-video {
position: absolute;
z-index: 2
top: 0;
bottom: 0;
left: 0;
right: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
> p {
padding: 6px 12px;
border-radius: 6px;
user-select: none;
pointer-events: none;
font-size: 15px;
color: rgba(#fff, 0.55);
}
}
}
+105
View File
@@ -0,0 +1,105 @@
[data-component='FullView'] {
position: relative;
flex: 100 100 auto;
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
background-color: rgba(#2a4b58, 0.9);
background-image: url('/resources/images/buddy.svg');
background-position: bottom;
background-size: auto 85%;
background-repeat: no-repeat;
> .info {
$backgroundTint = #000;
position: absolute;
z-index: 5
top: 0.6vmin;
left: 0.6vmin;
bottom: 0;
right: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
> .media {
flex: 0 0 auto;
display: flex;
flex-direction: row;
> .box {
padding: 0.4vmin;
border-radius: 2px;
background-color: rgba(#000, 0.25);
> p {
user-select: none;
pointer-events: none;
margin-bottom: 2px;
color: rgba(#fff, 0.7);
font-size: 10px;
&:last-child {
margin-bottom: 0;
}
}
}
}
}
> video {
flex: 100 100 auto;
height: 100%;
width: 100%;
object-fit: contain;
user-select: none;
transition-property: opacity;
transition-duration: .15s;
background-color: rgba(#000, 0.75);
&.hidden {
opacity: 0;
transition-duration: 0s;
}
&.loading {
filter: blur(5px);
}
}
> .spinner-container {
position: absolute;
top: 0
bottom: 0;
left: 0;
right: 0;
background-color: rgba(#000, 0.75);
.react-spinner {
position: relative;
width: 48px;
height: 48px;
top: 50%;
left: 50%;
.react-spinner_bar {
position: absolute;
width: 20%;
height: 7.8%;
top: -3.9%;
left: -10%;
animation: PeerView-spinner 1.2s linear infinite;
border-radius: 5px;
background-color: rgba(#fff, 0.5);
}
}
}
}
@keyframes FullView-spinner {
0% { opacity: 1; }
100% { opacity: 0.15; }
}
+2 -4
View File
@@ -1,15 +1,13 @@
[data-component='Me'] {
flex: 100 100 auto;
position: relative;
height: 15vmin;
width: 20vmin;
flex-direction: row;
display: flex;
> .view-container {
position: relative;
height: 100%;
width: 100%;
width: 20vmin;
height: 15vmin;
&.webcam {
order: 2;