Compare commits

...

2 Commits

Author SHA1 Message Date
peshomir cd484263e0 Fix for the the hovering tooltip on mobile, again 2024-08-04 09:51:50 +03:00
peshomir fd36f6b42c Fix hovering tooltip errors 2024-08-04 09:40:17 +03:00
1 changed files with 15 additions and 3 deletions

View File

@ -500,15 +500,27 @@ const hoveringTooltip = new (function() {
this.canvasPixelScale = 1; this.canvasPixelScale = 1;
function handler(e) { function handler(e) {
if (!settings.hoveringTooltip || !getVar("gameState") || recentlyShown) return; if (!settings.hoveringTooltip || !getVar("gameState") || recentlyShown) return;
let x, y;
// https://stackoverflow.com/a/61732450
if (e.type.includes(`touch`)) {
const { touches, changedTouches } = e.originalEvent ?? e;
const touch = touches[0] ?? changedTouches[0];
x = touch.pageX;
y = touch.pageY;
} else if (e.type.includes(`mouse`)) {
x = e.clientX;
y = e.clientY;
}
recentlyShown = true; recentlyShown = true;
try { try {
this.display(this.canvasPixelScale * e.clientX, this.canvasPixelScale * e.clientY); this.display(this.canvasPixelScale * x, this.canvasPixelScale * y);
} catch (e) { console.error(e) } } catch (e) { console.error(e) }
// for better performance, reduce the tooltip display frequency to no more than once every 100 ms // for better performance, reduce the tooltip display frequency to no more than once every 100 ms
setTimeout(() => recentlyShown = false, 100); setTimeout(() => recentlyShown = false, 100);
} }
document.getElementById("canvasA").addEventListener("mousemove", handler); document.getElementById("canvasA").addEventListener("mousemove", handler.bind(this));
document.getElementById("canvasA").addEventListener("touchmove", handler); document.getElementById("canvasA").addEventListener("touchstart", handler.bind(this));
}); });
var donationsTracker = new (function(){ var donationsTracker = new (function(){