fix: hide tooltip on mobile/touch, adaptive vendor info bar
This commit is contained in:
@@ -798,3 +798,23 @@
|
||||
.vib-link.mont { background: linear-gradient(135deg, #1f4ea3, #3978e0); color: #fff; }
|
||||
.vib-link.site { background: #fff; color: #2a5aaa; border: 1px solid #c8d8f5; }
|
||||
.vib-link:hover { opacity: .82; transform: translateY(-1px); }
|
||||
|
||||
/* ── Mobile: no hover tooltips ── */
|
||||
@media (hover: none), (max-width: 768px) {
|
||||
.vendor-tooltip { display: none !important; }
|
||||
}
|
||||
|
||||
/* ── Mobile: adaptive vendor info bar ── */
|
||||
@media (max-width: 768px) {
|
||||
.vendor-info-bar {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
}
|
||||
.vib-logo {
|
||||
width: 100%;
|
||||
height: 120px;
|
||||
}
|
||||
.vib-logo img { max-height: 90px; }
|
||||
}
|
||||
|
||||
+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