started docs; fixed color stuff

This commit is contained in:
2022-02-25 17:22:59 +01:00
parent 94eccbca1f
commit fadc44a1f4
5 changed files with 484 additions and 95 deletions

View File

@ -1,31 +1,37 @@
var newDateObj = new Date();
newDateObj = new Date(newDateObj.getTime() + 1000*20)
newDateObj = new Date(newDateObj.getTime() + 1000 * 20)
allowFullscreen = true
function enterFullscreen(element) {
if(element.requestFullscreen) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if(element.msRequestFullscreen) { // for IE11 (remove June 15, 2022)
} else if (element.msRequestFullscreen) { // for IE11 (remove June 15, 2022)
element.msRequestFullscreen();
} else if(element.webkitRequestFullscreen) { // iOS Safari
} else if (element.webkitRequestFullscreen) { // iOS Safari
element.webkitRequestFullscreen();
}
}
function returnData() {
return (JSON.parse(document.getElementById("incomeData").innerHTML))
}
function percentage(partialValue, totalValue) {
return (100 * partialValue) / totalValue;
}
}
function updateFullscreen(){
if(JSON.parse(document.getElementById("incomeData").innerHTML).defaultFullScreen && allowFullscreen){
function updateFullscreen() {
if (JSON.parse(document.getElementById("incomeData").innerHTML).defaultFullScreen && allowFullscreen) {
enterFullscreen(document.documentElement)
}
}
function msToTime(s, data) {
isSmallerThenZero = false
if(s < 0){
if (s < 0) {
isSmallerThenZero = true
}
@ -37,108 +43,129 @@ function msToTime(s, data) {
var hrs = (s - mins) / 60;
let out = ""
if(!data.showMilliSeconds){
out = ('00' + Math.abs(hrs)).slice(-2) + ':' + ('00'+Math.abs(mins)).slice(-2) + ':' + ('00'+Math.abs(secs)).slice(-2)
}else {
out = ('00' + Math.abs(hrs)).slice(-2) + ':' + ('00'+Math.abs(mins)).slice(-2) + ':' + ('00'+Math.abs(secs)).slice(-2) + '.' + ('000'+Math.abs(ms)).slice(-3)
if (!data.showMilliSeconds) {
out = ('00' + Math.abs(hrs)).slice(-2) + ':' + ('00' + Math.abs(mins)).slice(-2) + ':' + ('00' + Math.abs(secs)).slice(-2)
} else {
out = ('00' + Math.abs(hrs)).slice(-2) + ':' + ('00' + Math.abs(mins)).slice(-2) + ':' + ('00' + Math.abs(secs)).slice(-2) + '.' + ('000' + Math.abs(ms)).slice(-3)
}
if(isSmallerThenZero){
if (isSmallerThenZero) {
out = "-" + out
}
return out;
}
function findProgessColor(colors, value){
console.info("\n\n\n\n\n")
function findProgessColor(colors, value) {
const allColors = Object.keys(colors);
let resColor = colors["START"]
for(let color in allColors){
for (let color in allColors) {
const currColor = allColors[color]
console.log(color, currColor, parseInt(currColor), value, colors[String(currColor)])
if(value <= parseInt(currColor)){
console.log("trith")
resColor = colors[currColor]
// console.log(color, currColor, parseInt(currColor), value, colors[String(currColor)], resColor)
if (value <= parseInt(currColor)) {
resColor = colors[String(currColor)]
break
}
}
// console.info(resColor, value)
return(resColor)
return (resColor)
}
function handleUpdate() {
resp = httpGet("/api/v1/data");
var data = JSON.parse(resp);
document.getElementById("incomeData").innerHTML = JSON.stringify(data)
if(data.defaultFullScreen && document.getElementById("initalDate").innerHTML.includes("true") && allowFullscreen){
enterFullscreen(document.documentElement);
document.getElementById("initalDate").innerHTML = "false"
}
if(data.showMessage) {
document.getElementById("overlay").style.display = "block";
document.getElementById("text").innerHTML = data.message
}else{
off()
}
if(new Date().getTime() - data.messageAppearTime < 5000) {
if (! document.getElementById("text").classList.contains('blink') ){
document.getElementById("text").classList.add("blink")
resp.onloadend = function (e) {
if(resp.status == 200){
resp = resp.responseText;
var data = JSON.parse(resp);
document.getElementById("incomeData").innerHTML = JSON.stringify(data)
document.getElementById("timediff").innerHTML = new Date().getTime() - data.srvTime;
if(data.debug){
document.getElementById("timediff").style.display = "block";
}else{
document.getElementById("timediff").style.display = "none";
}
if (data.defaultFullScreen && document.getElementById("initalDate").innerHTML.includes("true") && allowFullscreen) {
enterFullscreen(document.documentElement);
document.getElementById("initalDate").innerHTML = "false"
}
if (data.showMessage) {
document.getElementById("overlay").style.display = "block";
document.getElementById("text").innerHTML = data.message
} else {
off()
}
if (new Date().getTime() - data.messageAppearTime < 5000) {
if (!document.getElementById("text").classList.contains('blink')) {
document.getElementById("text").classList.add("blink")
}
} else {
if (document.getElementById("text").classList.contains('blink')) {
document.getElementById("text").classList.remove("blink")
}
}
if (data.mode == "clock") {
document.getElementById("timer").innerHTML = getTime();
document.getElementById("testImg").style.display = "none";
document.getElementById("wholeProgBar").style.display = "none";
} else if (data.mode == "timer") {
document.getElementById("wholeProgBar").style.display = "block";
if (data.timerRunState) {
const now = new Date()
const diff = data.countdownGoal - now.getTime()
document.getElementById("timer").innerHTML = msToTime(diff, data);
if (diff > 0) {
document.getElementById("progBar").style.width = percentage(diff, data.timeAmountInital) + "%";
} else {
document.getElementById("progBar").style.width = "0%";
}
document.getElementById("progBar").style.backgroundColor = findProgessColor(data.colorSegments, diff)
document.getElementById("testImg").style.display = "none";
if (data.enableColoredText) {
document.getElementById("timer").style.color = findProgessColor(data.textColors, diff)
} else {
document.getElementById("timer").style.color = "white"
}
}
if (data.showTimeOnCountdown) {
document.getElementById("clockSec").innerHTML = getTime();
} else {
document.getElementById("clockSec").innerHTML = "";
}
} else if (data.mode == "black") {
document.getElementById("timer").innerHTML = "";
document.getElementById("testImg").style.display = "none";
document.getElementById("wholeProgBar").style.display = "none";
} else if (data.mode == "test") {
document.getElementById("timer").innerHTML = "";
document.getElementById("testImg").style.display = "block";
document.getElementById("progBar").style.display = "none";
}
}
}else{
if ( document.getElementById("text").classList.contains('blink') ){
document.getElementById("text").classList.remove("blink")
}
}
if (data.mode == "clock") {
document.getElementById("timer").innerHTML = getTime();
document.getElementById("testImg").style.display = "none";
document.getElementById("wholeProgBar").style.display = "none";
} else if (data.mode == "timer") {
document.getElementById("wholeProgBar").style.display = "block";
if(data.timerRunState){
const now = new Date()
const diff = data.countdownGoal - now.getTime()
document.getElementById("timer").innerHTML = msToTime(diff, data);
document.getElementById("progBar").style.width = percentage(diff, data.timeAmountInital) + "%";
document.getElementById("progBar").style.backgroundColor = findProgessColor(data.colorSegments,diff)
document.getElementById("testImg").style.display = "none";
}
if(data.showTimeOnCountdown){
document.getElementById("clockSec").innerHTML = getTime();
} else {
document.getElementById("clockSec").innerHTML = "";
}
} else if (data.mode == "black") {
document.getElementById("timer").innerHTML = "";
document.getElementById("testImg").style.display = "none";
document.getElementById("wholeProgBar").style.display = "none";
} else if (data.mode == "test") {
document.getElementById("timer").innerHTML = "";
document.getElementById("testImg").style.display = "block";
document.getElementById("progBar").style.display = "none";
}
}
function httpGet(theUrl) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", theUrl, false); // false for synchronous request
xmlHttp.open("GET", theUrl, true); // false for synchronous request
xmlHttp.send(null);
return xmlHttp.responseText;
xmlHttp.onerror = function (e) {
console.log(e);
};
return xmlHttp;
}
function getTime() {
@ -170,6 +197,6 @@ let temp = new URLSearchParams(window.location.search).get("smaller");
if (temp == "true") {
var cssURL = '/css/smallerTextMod.css';
document.head.innerHTML +='<link rel="stylesheet" href="' + cssURL + '"/>'
document.head.innerHTML += '<link rel="stylesheet" href="' + cssURL + '"/>'
allowFullscreen = false
}