From 9db66d500eee958b61d73182e9f274d32a633c79 Mon Sep 17 00:00:00 2001
From: Emile Bangma <github@emilebangma.com>
Date: Sun, 06 Apr 2025 22:23:49 +0000
Subject: [PATCH] fix(popover): round coords remove blurred popovers (#1911)
---
quartz/components/scripts/popover.inline.ts | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/quartz/components/scripts/popover.inline.ts b/quartz/components/scripts/popover.inline.ts
index d02b0b7..86cc885 100644
--- a/quartz/components/scripts/popover.inline.ts
+++ b/quartz/components/scripts/popover.inline.ts
@@ -12,7 +12,7 @@
clearActivePopover()
const link = this
- link.id = `backlink-${randomIdNonSecure()}`
+ const id = randomIdNonSecure()
if (link.dataset.noPopover === "true") {
return
}
@@ -23,12 +23,12 @@
middleware: [inline({ x: clientX, y: clientY }), shift(), flip()],
})
Object.assign(popoverElement.style, {
- transform: `translate(${x}px, ${y}px)`,
+ transform: `translate(${x.toFixed()}px, ${y.toFixed()}px)`,
})
}
- const prevPopoverElement = document.getElementById(`popover-${link.id.split("-")[1]}`)
- const hasAlreadyBeenFetched = () => !!prevPopoverElement
+ const prevPopoverElement = document.getElementById(`popover-${id}`)
+ const hasAlreadyBeenFetched = () => !!document.getElementById(`popover-${id}`)
// dont refetch if there's already a popover
if (hasAlreadyBeenFetched()) {
@@ -91,7 +91,7 @@
normalizeRelativeURLs(html, targetUrl)
// prepend all IDs inside popovers to prevent duplicates
html.querySelectorAll("[id]").forEach((el) => {
- const targetID = `popover-${el.id}`
+ const targetID = `popover-internal-${el.id}`
el.id = targetID
})
const elts = [...html.getElementsByClassName("popover-hint")]
@@ -101,12 +101,12 @@
}
setPosition(popoverElement)
- popoverElement.id = `popover-${link.id.split("-")[1]}`
- popoverElement?.classList.add("active-popover")
+ popoverElement.id = `popover-${id}`
+ popoverElement.classList.add("active-popover")
document.body.appendChild(popoverElement)
if (hash !== "") {
- const targetAnchor = hash.startsWith("#popover") ? hash : `#popover-${hash.slice(1)}`
+ const targetAnchor = `#popover-internal-${hash.slice(1)}`
const heading = popoverInner.querySelector(targetAnchor) as HTMLElement | null
if (heading) {
// leave ~12px of buffer when scrolling to a heading
--
Gitblit v1.10.0