Blue Rose
2023-10-31 06ccb89cd7d5a3cade1eb5c2155b9b06e5395b0b
quartz/components/scripts/spa.inline.ts
@@ -20,6 +20,7 @@
const getOpts = ({ target }: Event): { url: URL; scroll?: boolean } | undefined => {
  if (!isElement(target)) return
  if (target.attributes.getNamedItem("target")?.value === "_blank") return
  const a = target.closest("a")
  if (!a) return
  if ("routerIgnore" in a.dataset) return
@@ -64,7 +65,7 @@
  // scroll into place and add history
  if (!isBack) {
    if (url.hash) {
      const el = document.getElementById(url.hash.substring(1))
      const el = document.getElementById(decodeURIComponent(url.hash.substring(1)))
      el?.scrollIntoView()
    } else {
      window.scrollTo({ top: 0 })
@@ -92,7 +93,7 @@
  if (typeof window !== "undefined") {
    window.addEventListener("click", async (event) => {
      const { url } = getOpts(event) ?? {}
      if (!url) return
      if (!url || event.ctrlKey || event.metaKey) return
      event.preventDefault()
      try {
        navigate(url, false)