From b932ebdd48053e7dce0d5b1b874e5d37f78fc7e6 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Fri, 6 Dec 2019 12:01:44 -0500 Subject: [PATCH] Prevent upgrade tooltips from going off the screen --- gorge.css | 1 + gorge.js | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gorge.css b/gorge.css index de56d66..1a0158a 100644 --- a/gorge.css +++ b/gorge.css @@ -3,6 +3,7 @@ body { user-select: none; -moz-user-select: none; touch-action: manipulation; + overflow: hidden; } body.dark { diff --git a/gorge.js b/gorge.js index b7db318..bd1cfae 100644 --- a/gorge.js +++ b/gorge.js @@ -649,8 +649,21 @@ function upgradeTooltip(id, event) { fillTooltip("upgrade", "prereqs", renderPrereqs(upgrades[id].prereqs)); let yOffset = tooltip.parentElement.getBoundingClientRect().y; + let tooltipSize = tooltip.getBoundingClientRect().height; let yTrans = Math.round(event.clientY - yOffset); + + var body = document.body, + html = document.documentElement; + + var height = Math.max(window.innerHeight); + + yTrans = Math.min(yTrans, height - tooltipSize - 150); + + console.log(height); + console.log(yOffset); + console.log(yTrans); + tooltip.style.setProperty("transform", "translate(-220px, " + yTrans + "px)"); } @@ -693,8 +706,6 @@ function buildingTooltip(id, event) { fillTooltip("building", "cost", render(costOfBuilding(id)) + " food"); fillTooltip("building", "prod", prodSummary(id)); - let yOffset = tooltip.parentElement.getBoundingClientRect().y; - let xPos = tooltip.parentElement.getBoundingClientRect().x - 450; // wow browsers are bad