41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import { createOptions } from "./createOptions.js";
|
|
|
|
const optionsWrapper = document.getElementById("options-wrapper");
|
|
const body = document.body;
|
|
const eye = document.getElementById("eyeSvg");
|
|
|
|
window.addEventListener("message", (event) => {
|
|
optionsWrapper.innerHTML = "";
|
|
|
|
switch (event.data.event) {
|
|
case "visible": {
|
|
body.style.visibility = event.data.state ? "visible" : "hidden";
|
|
return eye.classList.remove("eye-hover");
|
|
}
|
|
|
|
case "leftTarget": {
|
|
return eye.classList.remove("eye-hover");
|
|
}
|
|
|
|
case "setTarget": {
|
|
eye.classList.add("eye-hover");
|
|
|
|
if (event.data.options) {
|
|
for (const type in event.data.options) {
|
|
event.data.options[type].forEach((data, id) => {
|
|
createOptions(type, data, id + 1);
|
|
});
|
|
}
|
|
}
|
|
|
|
if (event.data.zones) {
|
|
for (let i = 0; i < event.data.zones.length; i++) {
|
|
event.data.zones[i].forEach((data, id) => {
|
|
createOptions("zones", data, id + 1, i + 1);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|