janusweb
Version:
Web client for JanusVR worlds
248 lines (247 loc) • 5.11 kB
CSS
janus-voip-client {
position: relative;
max-width: 75vh;
flex-wrap: wrap;
}
janus-voip-client-janus {
display: flex;
flex-direction: horizontal;
}
janus-voip-localuser {
display: block;
bottom: 0px;
padding: 0px;
z-index: 10;
}
janus-voip-localuser:empty {
border: none;
box-shadow: none;
}
janus-voip-localuser video {
max-width: 128px;
height: 128px;
display: block;
margin: 1px 0 0 1px;
border: 1px solid #aaa;
border-radius: 50%;
box-shadow: 0 0 2px 2px white;
}
janus-voip-remoteuser {
xdisplay: inline-block;
position: relative;
font-family: monospace;
transition: transform 250ms ease;
transform: scale(0, 0);
min-width: 5em;
min-width: 32px;
min-height: 32px;
text-align: center;
}
janus-voip-remoteuser audio {
display: inline-block;
}
janus-voip-remoteuser video {
width: 32px;
height: 32px;
border: 1px solid #aaa;
border-radius: 50%;
box-shadow: 0 0 2px 2px white;
display: inline-block;
background: url(images/mic-disabled.png);
background-size: contain;
background-position: center center;
transition: all 200ms ease-out;
}
janus-voip-remoteuser[hasaudio] video {
background: url(images/mic-enabled.png);
background-size: contain;
background-position: center center;
}
janus-voip-remoteuser[hasvideo] video {
width: 128px;
height: 128px;
}
janus-voip-remoteuser video.active {
display: inline-block;
}
janus-voip-remoteuser[active] {
transform: scale(1, 1);
}
janus-voip-localuser h2,
janus-voip-remoteuser h2 {
/*
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin: 0;
*/
background: rgba(0,0,0,.2);
text-shadow: 0 0 5px black;
color: white;
font-size: .8em;
margin-bottom: .5em;
}
janus-voip-remoteuser {
}
janus-voip-localuser[speaking],
janus-voip-remoteuser[speaking] {
xborder: 2px solid #0f0;
}
janus-voip-localuser ui-button {
position: absolute;
bottom: 1em;
left: .2em;
xdisplay: none;
opacity: .5;
font-size: 0;
width: auto;
transition: opacity 100ms linear;
z-index: 100;
}
janus-voip-remoteuser ui-button {
font-size: 0;
width: auto;
opacity: 0;
}
janus-voip-localuser ui-button:before,
janus-voip-remoteuser ui-button:before {
display: inline-block;
width: 24px;
height: 24px;
background: url(images/mic-enabled.png);
background-size: cover;
content: ' ';
z-index: 10;
}
janus-voip-localuser ui-button.muted,
janus-voip-remoteuser ui-button.muted {
background: rgba(255,0,0,.5);
z-index: 10;
}
janus-voip-localuser ui-button.muted:before {
display: inline-block;
width: 24px;
height: 24px;
background: url(images/mic-disabled.png);
background-size: cover;
content: ' ';
}
janus-voip-localuser:hover ui-button,
janus-voip-remoteuser:hover ui-button {
display: block;
opacity: .6;
}
janus-voip-localuser ui-button:hover,
janus-voip-remoteuser ui-button:hover {
display: block;
opacity: 1;
}
janus-voip-picker-audio {
display: block;
}
janus-voip-picker-audio ul {
list-style: none;
text-align: left;
width: 20em;
margin: 0 auto;
}
janus-voip-picker-audio ui-label {
width: 10em;
color: white;
font-weight: normal;
}
janus-voip-picker-audio ui-select>select {
width: 100%;
}
janus-voip-remoteuser ui-panel[bottom] {
display: flex;
flex-direction: row;
width: 100%;
align-items: center;
}
janus-voip-remoteuser ui-slider {
font-size: 1em;
flex: 1;
opacity: 0;
transition: opacity 200ms linear;
}
janus-voip-remoteuser:hover ui-slider {
opacity: 1;
}
janus-voip-remoteuser ui-button {
/*
font-size: .5em;
flex: 0;
padding: .2em;
*/
}
janus-voip-remoteuser[hasvideo] {
order: 1;
}
janus-voip-remoteuser:not([hasvideo]) {
order: 2;
}
janus-voip-picker {
text-align: left;
}
janus-voip-picker h3 {
font-size: 1em;
border-top: 1px solid #666;
margin-top: .5em;
padding-top: .5em;
padding: .5em .5em;
}
janus-voip-picker ul {
padding: 0 .5em;
}
janus-voip-picker-audio li {
padding: .2em .5em;
}
janus-voip-picker .micselect {
display: grid;
grid-template-columns: auto 80px;
padding: 0;
}
janus-voip-picker-mictest {
margin-left: 5px;
}
janus-voip-client-incomingcall ui-flexpanel {
height: auto;
}
janus-voip-client-incomingcall janus-button-voip[action="accept"] {
background: #0a0;
border: 1px solid black;
}
janus-voip-client-incomingcall janus-button-voip[action="accept"]:hover {
background: #0d0;
}
janus-voip-client-incomingcall janus-button-voip[action="accept"][disabled] {
opacity: .3;
}
janus-voip-client-incomingcall ui-button[action="reject"] {
background: #800;
border: 1px solid black;
}
janus-voip-client-incomingcall ui-button[action="reject"]:hover {
background: #a00;
}
ui-panel[top]:not([left]):not([right]):has(janus-voip-client[spatialized]) {
top: 0;
left: 0;
}
ui-panel[top]:has(janus-voip-client[spatialized])::after {
position: absolute;
width: 80vh;
height: 80vh;
display: block;
content: '';
left: calc(50vw - 40vh);
top: 10vh;
border: 2px solid rgba(128,128,128,.5);
border-radius: 50%;
pointer-events: none;
}
janus-voip-remoteuser[spatialized] {
position: absolute;
}