madstuff-website/js/window.js
2026-04-13 22:28:49 +01:00

29 lines
817 B
JavaScript

// TODO: Rewrite to support more than one window per page.
const subwindow = document.getElementById("window");
const titlebar = document.getElementById("window-titlebar");
let dragging = false;
let prevPosX;
let prevPosY;
titlebar.addEventListener("mousedown", (event) => {
dragging = true;
prevPosX = event.clientX;
prevPosY = event.clientY;
});
window.addEventListener("mousemove", (event) => {
if (!dragging)
return;
const newPosX = subwindow.offsetLeft - (prevPosX - event.clientX);
const newPosY = subwindow.offsetTop - (prevPosY - event.clientY);
subwindow.style.left = newPosX + "px";
subwindow.style.top = newPosY + "px";
prevPosX = event.clientX;
prevPosY = event.clientY;
});
window.addEventListener("mouseup", (_event) => {
dragging = false;
});