diff --git a/ui/system/color_picker.js b/ui/system/color_picker.js index 2489730..db26582 100644 --- a/ui/system/color_picker.js +++ b/ui/system/color_picker.js @@ -207,29 +207,32 @@ export class ColorPicker extends LitElement { } // Event handlers for the picker areas - handleSLMouseDown(e) { + handleSLPointerDown(e) { this.dragging = "sl"; this.updateSL(e); - document.addEventListener("mousemove", this.handleMouseMove); - document.addEventListener("mouseup", this.handleMouseUp); + document.addEventListener("pointermove", this.handlePointerMove); + document.addEventListener("pointerup", this.handlePointerUp); } - handleHueMouseDown(e) { + handleHuePointerDown(e) { this.dragging = "hue"; this.updateHue(e); - document.addEventListener("mousemove", this.handleMouseMove); - document.addEventListener("mouseup", this.handleMouseUp); + document.addEventListener("pointermove", this.handlePointerMove); + document.addEventListener("pointerup", this.handlePointerUp); } - handleMouseMove = (e) => { - if (this.dragging === "sl") this.updateSL(e); - else if (this.dragging === "hue") this.updateHue(e); + handlePointerMove = (e) => { + if (this.dragging === "sl") { + this.updateSL(e); + } else if (this.dragging === "hue") { + this.updateHue(e); + } }; - handleMouseUp = () => { + handlePointerUp = () => { this.dragging = null; - document.removeEventListener("mousemove", this.handleMouseMove); - document.removeEventListener("mouseup", this.handleMouseUp); + document.removeEventListener("pointermove", this.handlePointerMove); + document.removeEventListener("pointerup", this.handlePointerUp); }; updateSL(e) { @@ -272,7 +275,9 @@ export class ColorPicker extends LitElement { handleHexInput(e) { let hex = e.target.value; - if (!hex.startsWith("#")) hex = "#" + hex; + if (!hex.startsWith("#")) { + hex = "#" + hex; + } if (/^#[0-9a-fA-F]{6}$/.test(hex)) { const rgb = this.hexToRgb(hex); if (rgb) { @@ -320,7 +325,7 @@ export class ColorPicker extends LitElement {
-
+
{ // Desktop-only header handlers const headerSpan = document.querySelector("header span"); if (headerSpan) { - headerSpan.onmousedown = (e) => { + headerSpan.onpointerdown = (e) => { e.preventDefault(); navigator.embedder.startWindowDrag(); }; @@ -731,7 +731,7 @@ document.addEventListener("DOMContentLoaded", () => { const headerResize = document.querySelector("header .resize"); if (headerResize) { - headerResize.onmousedown = (e) => { + headerResize.onpointerdown = (e) => { e.preventDefault(); navigator.embedder.startWindowResize(); }; @@ -739,7 +739,7 @@ document.addEventListener("DOMContentLoaded", () => { const headerClose = document.querySelector("header .close"); if (headerClose) { - headerClose.onmousedown = (e) => { + headerClose.onpointerdown = (e) => { e.preventDefault(); navigator.embedder.closeCurrentOSWindow(); }; diff --git a/ui/system/layout_manager.js b/ui/system/layout_manager.js index 2212b70..290c490 100644 --- a/ui/system/layout_manager.js +++ b/ui/system/layout_manager.js @@ -677,9 +677,9 @@ export class LayoutManager { handleEl.style.height = "0.5em"; } - handleEl.addEventListener("mousedown", (e) => { + handleEl.addEventListener("pointerdown", (event) => { e.preventDefault(); - this.startResize(e, handle.splitNode, handle.direction, panelIndex); + this.startResize(event, handle.splitNode, handle.direction, panelIndex); }); panel.element.appendChild(handleEl); @@ -741,7 +741,7 @@ export class LayoutManager { // Disable pointer events on all webviews during resize document.body.classList.add("resizing"); - const onMouseMove = (e) => { + const onPointerMove = (e) => { e.preventDefault(); e.stopPropagation(); @@ -755,12 +755,12 @@ export class LayoutManager { this.applyPanelLayout(panelIndex); }; - const onMouseUp = (e) => { + const onPointerUp = (e) => { e.preventDefault(); e.stopPropagation(); - document.body.removeEventListener("mousemove", onMouseMove, true); - document.body.removeEventListener("mouseup", onMouseUp, true); + document.body.removeEventListener("pointermove", onPointerMove, true); + document.body.removeEventListener("pointerup", onPointerUp, true); document.body.style.cursor = ""; document.body.style.userSelect = ""; @@ -769,8 +769,8 @@ export class LayoutManager { }; // Use capture phase on body to intercept events before they reach webviews - document.body.addEventListener("mousemove", onMouseMove, true); - document.body.addEventListener("mouseup", onMouseUp, true); + document.body.addEventListener("pointermove", onPointerMove, true); + document.body.addEventListener("pointerup", onPointerUp, true); document.body.style.cursor = direction === "horizontal" ? "col-resize" : "row-resize"; document.body.style.userSelect = "none"; diff --git a/ui/system/search.js b/ui/system/search.js index ba631e5..cf53fae 100644 --- a/ui/system/search.js +++ b/ui/system/search.js @@ -179,7 +179,7 @@ document.addEventListener("keydown", (e) => { } }); -document.querySelector("h1").addEventListener("mousedown", () => { +document.querySelector("h1").addEventListener("pointerdown", () => { navigator.embedder.startWindowDrag(); });