31 lines
1.3 KiB
JavaScript
31 lines
1.3 KiB
JavaScript
window.addEventListener('load', (e) => {
|
|
const targets = document.getElementsByClassName('booperTarget');
|
|
for (let i = 0; i < targets.length; i++) {
|
|
const target = targets[i];
|
|
const locators = JSON.parse(target.getAttribute('data-booper'));
|
|
console.debug(locators);
|
|
target.addEventListener('click', (e) => {
|
|
let x = e.offsetX / e.originalTarget.clientWidth;
|
|
let y = e.offsetY / e.originalTarget.clientHeight;
|
|
for (const [name, box] of Object.entries(locators)) {
|
|
const [x1, y1, x2, y2] = box;
|
|
if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {
|
|
console.log(`[booper.js] Booped ${name}!`);
|
|
fetch(`/api/boop/${name}`, {method: 'POST'}).then((r) => {
|
|
if (r.ok) {
|
|
r.json().then((json) => {
|
|
console.debug(json);
|
|
});
|
|
} else {
|
|
console.error(`[booper.js] Error whilst booping:`);
|
|
console.error(r);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
console.log(`[booper.js] Initialised ${targets.length} boop target(s)!`);
|
|
});
|