mirror of
https://github.com/eliasstepanik/vdo.ninja.git
synced 2026-01-10 21:28:34 +00:00
Merge pull request #1078 from yonghuang28/add-a-URL-parameter-&batterymeter
Add a url parameter &batterymeter
This commit is contained in:
commit
43c0854ae5
79
lib.js
79
lib.js
@ -3677,6 +3677,11 @@ function switchModes(state=null){
|
||||
target.appendChild(session.rpcs[UUID].signalMeter);
|
||||
}
|
||||
}
|
||||
if (session.batteryMeter){
|
||||
if (session.rpcs[UUID].batteryMeter){
|
||||
target.appendChild(session.rpcs[UUID].batteryMeter);
|
||||
}
|
||||
}
|
||||
if (session.rpcs[UUID].voiceMeter){
|
||||
target.appendChild(session.rpcs[UUID].voiceMeter);
|
||||
}
|
||||
@ -5720,6 +5725,23 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a
|
||||
}
|
||||
}
|
||||
|
||||
if (session.batteryMeter){
|
||||
if (vid.dataset.UUID && !session.rpcs[vid.dataset.UUID].batteryMeter){
|
||||
session.rpcs[vid.dataset.UUID].batteryMeter = getById("batteryMeterTemplate").cloneNode(true);
|
||||
session.rpcs[vid.dataset.UUID].batteryMeter.classList.remove("hidden");
|
||||
session.rpcs[vid.dataset.UUID].batteryMeter.id = "batteryMeter_" + vid.dataset.UUID;
|
||||
session.rpcs[vid.dataset.UUID].batteryMeter.dataset.level = 0;
|
||||
session.rpcs[vid.dataset.UUID].batteryMeter.title = miscTranslations["battery-meter"];
|
||||
holder.appendChild(session.rpcs[vid.dataset.UUID].batteryMeter);
|
||||
holder.batteryMeter = session.rpcs[vid.dataset.UUID].batteryMeter;
|
||||
} else if (vid.dataset.UUID && session.rpcs[vid.dataset.UUID].batteryMeter){
|
||||
if (!holder.batteryMeter){
|
||||
holder.appendChild(session.rpcs[vid.dataset.UUID].batteryMeter);
|
||||
holder.batteryMeter = session.rpcs[vid.dataset.UUID].batteryMeter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (session.volumeControl && session.rpcs[vid.dataset.UUID].videoElement && (vid.tagName != "VIDEO")){
|
||||
if (vid.dataset.UUID && !session.rpcs[vid.dataset.UUID].volumeControl){
|
||||
session.rpcs[vid.dataset.UUID].volumeControl = getById("volumeControlTemplate").cloneNode(true);
|
||||
@ -16395,6 +16417,9 @@ async function createRoomCallback(passAdd, passAdd2) {
|
||||
if (session.signalMeter===null){
|
||||
session.signalMeter = true;
|
||||
}
|
||||
if (session.batteryMeter===null){
|
||||
session.batteryMeter = true;
|
||||
}
|
||||
|
||||
if (session.directorPassword){
|
||||
getById("coDirectorEnable").checked = true;
|
||||
@ -17688,11 +17713,14 @@ function createControlBox(UUID, soloLink, streamID, slot_init=false) {
|
||||
});
|
||||
}
|
||||
videoContainer.appendChild(session.rpcs[UUID].signalMeter);
|
||||
|
||||
}
|
||||
|
||||
if (session.batteryMeter){
|
||||
////////
|
||||
if (!session.rpcs[UUID].batteryMeter){
|
||||
session.rpcs[UUID].batteryMeter = getById("batteryMeterTemplate").cloneNode(true);
|
||||
session.rpcs[UUID].batteryMeter.id = "batteryMeter_" + UUID;
|
||||
/*
|
||||
if (session.rpcs[UUID].stats.info && (session.rpcs[UUID].stats.info.power_level!==null)){
|
||||
var level = session.rpcs[UUID].batteryMeter.querySelector(".battery-level");
|
||||
if (level){
|
||||
@ -17717,6 +17745,8 @@ function createControlBox(UUID, soloLink, streamID, slot_init=false) {
|
||||
} else {
|
||||
session.rpcs[UUID].batteryMeter.dataset.plugged = "1";
|
||||
}
|
||||
*/
|
||||
batteryMeterInfoUpdate(UUID);
|
||||
}
|
||||
videoContainer.appendChild(session.rpcs[UUID].batteryMeter);
|
||||
}
|
||||
@ -32886,7 +32916,7 @@ function batteryMeterInfoUpdate(UUID){
|
||||
if (value > 100){value = 100;}
|
||||
if (value < 0){ value = 0;}
|
||||
level.style.height = parseInt(value)+"%";
|
||||
if (value<10){
|
||||
if (value<15){
|
||||
session.rpcs[UUID].batteryMeter.classList.remove("warn");
|
||||
session.rpcs[UUID].batteryMeter.classList.add("alert");
|
||||
} else if (value<25){
|
||||
@ -32899,7 +32929,8 @@ function batteryMeterInfoUpdate(UUID){
|
||||
if (value<100){
|
||||
session.rpcs[UUID].batteryMeter.classList.remove("hidden");
|
||||
}
|
||||
session.rpcs[UUID].batteryMeter.title = value+"% battery remaining";
|
||||
//session.rpcs[UUID].batteryMeter.title = value+"% battery remaining";
|
||||
session.rpcs[UUID].batteryMeter.title = parseInt(value)+"% battery remaining";
|
||||
}
|
||||
}
|
||||
|
||||
@ -32908,6 +32939,9 @@ function batteryMeterInfoUpdate(UUID){
|
||||
session.rpcs[UUID].batteryMeter.classList.remove("hidden");
|
||||
} else {
|
||||
session.rpcs[UUID].batteryMeter.dataset.plugged = "1";
|
||||
// add on
|
||||
session.rpcs[UUID].batteryMeter.title = parseInt(value)+"% charging";
|
||||
session.rpcs[UUID].batteryMeter.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
@ -37519,7 +37553,44 @@ function createControlBoxScreenshare(UUID, soloLink, streamID) {
|
||||
}
|
||||
videoContainer.appendChild(session.rpcs[UUID].signalMeter);
|
||||
}
|
||||
|
||||
|
||||
if (session.batteryMeter){
|
||||
////////
|
||||
if (!session.rpcs[UUID].batteryMeter){
|
||||
session.rpcs[UUID].batteryMeter = getById("batteryMeterTemplate").cloneNode(true);
|
||||
session.rpcs[UUID].batteryMeter.id = "batteryMeter_" + UUID;
|
||||
/*
|
||||
if (session.rpcs[UUID].stats.info && (session.rpcs[UUID].stats.info.power_level!==null)){
|
||||
var level = session.rpcs[UUID].batteryMeter.querySelector(".battery-level");
|
||||
if (level){
|
||||
var value = session.rpcs[UUID].stats.info.power_level;
|
||||
if (value > 100){value = 100;}
|
||||
else if (value < 0){ value = 0;}
|
||||
level.style.height = parseInt(value)+"%";
|
||||
if (value<10){
|
||||
session.rpcs[UUID].batteryMeter.classList.add("alert");
|
||||
} else if (value<25){
|
||||
session.rpcs[UUID].batteryMeter.classList.add("warn");
|
||||
}
|
||||
if (value<100){
|
||||
session.rpcs[UUID].batteryMeter.classList.remove("hidden");
|
||||
}
|
||||
session.rpcs[UUID].batteryMeter.title = (Math.round(value*10)/10)+"% battery remaining";
|
||||
}
|
||||
}
|
||||
if (session.rpcs[UUID].stats.info && ("plugged_in" in session.rpcs[UUID].stats.info) && (session.rpcs[UUID].stats.info.plugged_in===false)){
|
||||
session.rpcs[UUID].batteryMeter.dataset.plugged = "0";
|
||||
session.rpcs[UUID].batteryMeter.classList.remove("hidden");
|
||||
} else {
|
||||
session.rpcs[UUID].batteryMeter.dataset.plugged = "1";
|
||||
}
|
||||
*/
|
||||
batteryMeterInfoUpdate(UUID);
|
||||
|
||||
}
|
||||
videoContainer.appendChild(session.rpcs[UUID].batteryMeter);
|
||||
}
|
||||
|
||||
if (session.showConnections){
|
||||
if (!session.rpcs[UUID].connectionDetails){
|
||||
createConnectionDetailsEle(UUID);
|
||||
|
||||
21
main.css
21
main.css
@ -933,7 +933,7 @@ hr {
|
||||
font-size: 1.5em;
|
||||
z-index: 2;
|
||||
cursor: help;
|
||||
display:none;
|
||||
display:block;
|
||||
}
|
||||
|
||||
.battery-charging{
|
||||
@ -945,14 +945,27 @@ hr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.battery[data-plugged="1"] > .battery-charging {
|
||||
display:block;
|
||||
.battery[data-plugged="1"] {
|
||||
display:none;
|
||||
}
|
||||
|
||||
@keyframes blink-warn {
|
||||
0% { opacity: 0; }
|
||||
50% { opacity: 1; }
|
||||
100% { opacity: 0; }
|
||||
}
|
||||
@keyframes blink-alert {
|
||||
0% { opacity: 0; }
|
||||
50% { opacity: 1; }
|
||||
100% { opacity: 0; }
|
||||
}
|
||||
.battery.warn {
|
||||
border: 3px solid #EFAF13;
|
||||
animation: blink-warn 2s infinite;
|
||||
}
|
||||
.battery.alert {
|
||||
border: 3px solid #e81309;
|
||||
animation: blink-alert 1s infinite;
|
||||
}
|
||||
.battery-level {
|
||||
background: #30b455;
|
||||
@ -5445,4 +5458,4 @@ button.toggleSettings,
|
||||
}
|
||||
#sharefilebutton{
|
||||
display:none!important;
|
||||
}
|
||||
}
|
||||
|
||||
19
main.js
19
main.js
@ -657,11 +657,13 @@ async function main(){ // main asyncronous thread; mostly initializes the user s
|
||||
}
|
||||
session.meterStyle = 1;
|
||||
session.signalMeter = true;
|
||||
session.batteryMeter = true;
|
||||
} else if (filename === "director") {
|
||||
directorLanding = true;
|
||||
filename = false;
|
||||
session.meterStyle = 1;
|
||||
session.signalMeter = true;
|
||||
session.batteryMeter = true;
|
||||
}
|
||||
|
||||
session.slotmode = false; // temporary; remove in the future TODO: ## -----------------------
|
||||
@ -685,6 +687,21 @@ async function main(){ // main asyncronous thread; mostly initializes the user s
|
||||
}
|
||||
}
|
||||
|
||||
if (urlParams.has('batterymeter')) {
|
||||
session.batteryMeter = urlParams.get('batterymeter');
|
||||
if (session.batteryMeter === "false") {
|
||||
session.batteryMeter = false;
|
||||
} else if (session.batteryMeter=== "0") {
|
||||
session.batteryMeter = false;
|
||||
} else if (session.batteryMeter === "no") {
|
||||
session.batteryMeter = false;
|
||||
} else if (session.batteryMeter === "off") {
|
||||
session.batteryMeter = false;
|
||||
} else {
|
||||
session.batteryMeter = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (urlParams.has('rooms')) {
|
||||
session.rooms = urlParams.get('rooms').split(",").map(function(e) {
|
||||
return sanitizeRoomName(e);
|
||||
@ -6236,4 +6253,4 @@ async function main(){ // main asyncronous thread; mostly initializes the user s
|
||||
};
|
||||
script.src = "./thirdparty/polyfill.min.js"; // dynamically load this only if its needed. Keeps loading time down.
|
||||
},100);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user