The Trans Directory
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(popover): clear popovers more aggressively, use href as id

+4 -4
+4 -4
quartz/components/scripts/popover.inline.ts
··· 1 1 import { computePosition, flip, inline, shift } from "@floating-ui/dom" 2 2 import { normalizeRelativeURLs } from "../../util/path" 3 3 import { fetchCanonical } from "./util" 4 - import { randomIdNonSecure } from "../../util/random" 5 4 6 5 const p = new DOMParser() 7 6 ··· 25 24 } 26 25 27 26 function showPopover(popoverElement: HTMLElement) { 27 + clearActivePopover() 28 28 popoverElement.classList.add("active-popover") 29 29 setPosition(popoverElement as HTMLElement) 30 30 ··· 42 42 const hash = decodeURIComponent(targetUrl.hash) 43 43 targetUrl.hash = "" 44 44 targetUrl.search = "" 45 - const popoverId = `popover-${link.dataset.slug ?? randomIdNonSecure()}` 45 + const popoverId = `popover-${link.pathname}` 46 46 const prevPopoverElement = document.getElementById(popoverId) 47 47 const hasAlreadyBeenFetched = () => !!document.getElementById(popoverId) 48 48 ··· 117 117 } 118 118 119 119 document.addEventListener("nav", () => { 120 - const links = [...document.getElementsByClassName("internal")] as HTMLAnchorElement[] 120 + const links = [...document.querySelectorAll("a.internal")] as HTMLAnchorElement[] 121 121 for (const link of links) { 122 - link.addEventListener("mouseleave", clearActivePopover) 123 122 link.addEventListener("mouseenter", mouseEnterHandler) 123 + link.addEventListener("mouseleave", clearActivePopover) 124 124 window.addCleanup(() => { 125 125 link.removeEventListener("mouseenter", mouseEnterHandler) 126 126 link.removeEventListener("mouseleave", clearActivePopover)