fix: hide tooltip on mobile/touch, adaptive vendor info bar
This commit is contained in:
+16
-11
@@ -26,12 +26,15 @@
|
||||
|
||||
let clickAudioCtx = null;
|
||||
|
||||
// ── Vendor tooltip ──
|
||||
// ── Vendor tooltip (desktop / hover-capable devices only) ──
|
||||
const canHover = window.matchMedia('(hover: hover) and (pointer: fine)').matches;
|
||||
const tooltip = document.createElement('div');
|
||||
tooltip.className = 'vendor-tooltip';
|
||||
document.body.appendChild(tooltip);
|
||||
tooltip.addEventListener('mouseenter', () => { overTooltip = true; clearTimeout(hideTimer); });
|
||||
tooltip.addEventListener('mouseleave', () => { overTooltip = false; hideTooltip(); });
|
||||
if (canHover) {
|
||||
tooltip.addEventListener('mouseenter', () => { overTooltip = true; clearTimeout(hideTimer); });
|
||||
tooltip.addEventListener('mouseleave', () => { overTooltip = false; hideTooltip(); });
|
||||
}
|
||||
|
||||
let tooltipTimer = null;
|
||||
let hideTimer = null;
|
||||
@@ -211,14 +214,16 @@
|
||||
if (wasSelected) scrollAfterDeselect();
|
||||
else scrollToResultsSmooth();
|
||||
});
|
||||
node.addEventListener("mouseenter", () => {
|
||||
clearTimeout(tooltipTimer);
|
||||
tooltipTimer = setTimeout(() => showTooltip(node, vendor), 220);
|
||||
});
|
||||
node.addEventListener("mouseleave", () => {
|
||||
clearTimeout(tooltipTimer);
|
||||
hideTooltip();
|
||||
});
|
||||
if (canHover) {
|
||||
node.addEventListener("mouseenter", () => {
|
||||
clearTimeout(tooltipTimer);
|
||||
tooltipTimer = setTimeout(() => showTooltip(node, vendor), 220);
|
||||
});
|
||||
node.addEventListener("mouseleave", () => {
|
||||
clearTimeout(tooltipTimer);
|
||||
hideTooltip();
|
||||
});
|
||||
}
|
||||
el.vendorList.appendChild(node);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user