40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
const {rounds} = JSON.parse(localStorage.getItem("userData"));
|
|
const previousModuleDone = (id)=>{
|
|
const modules = rounds?rounds.length:0;
|
|
const trans = id.split("-");
|
|
const prog = (parseInt(trans[0].replace("Modul", ""))-1)*3+parseInt(trans[1].replace("mod", ""))-2;
|
|
return admin||modules>prog;
|
|
}
|
|
const standardStyles = {};
|
|
const mouseEnter = (ev)=>{
|
|
if(previousModuleDone(ev.target.id)){
|
|
ev.target.setAttribute("style", "background-color: #4CAF50")}
|
|
}
|
|
const mouseLeave = (ev)=>{
|
|
ev.target.setAttribute("style", standardStyles[ev.target.id])}
|
|
const click = (ev)=>{
|
|
ev.preventDefault();
|
|
if(previousModuleDone(ev.target.id)){
|
|
const mm = ev.target.id.split("-");
|
|
const params = {main: mm[0], modulename:mm[1]};
|
|
window.location="/39.html?q="+JSON.stringify(params);
|
|
}
|
|
}
|
|
const setStartStyle = (id)=>{
|
|
const element = document.getElementById(id);
|
|
if(navigator.userAgent.includes("Mobil")&&previousModuleDone(id)){
|
|
standardStyles[id]=`animation: highlight 2s ease-in-out; animation-iteration-count: infinite`
|
|
}else{
|
|
standardStyles[id]="background-color: #ABEE5E"
|
|
}
|
|
element.setAttribute("style", standardStyles[id]);
|
|
element.addEventListener("mouseenter", mouseEnter);
|
|
element.addEventListener("mouseleave", mouseLeave);
|
|
element.addEventListener("click", click);
|
|
}
|
|
setStartStyle("Modul1-mod1");
|
|
setStartStyle("Modul1-mod2");
|
|
setStartStyle("Modul1-mod3");
|
|
setStartStyle("Modul2-mod1");
|
|
setStartStyle("Modul2-mod2");
|
|
setStartStyle("Modul2-mod3"); |