about summary refs log tree commit diff
path: root/bskyembed
diff options
context:
space:
mode:
Diffstat (limited to 'bskyembed')
-rw-r--r--bskyembed/snippet/embed.ts12
-rw-r--r--bskyembed/src/components/link.tsx6
2 files changed, 17 insertions, 1 deletions
diff --git a/bskyembed/snippet/embed.ts b/bskyembed/snippet/embed.ts
index f2b9b442e..380cda5fb 100644
--- a/bskyembed/snippet/embed.ts
+++ b/bskyembed/snippet/embed.ts
@@ -59,9 +59,19 @@ function scan(node = document) {
       continue
     }
 
+    const ref_url = location.origin + location.pathname
+
+    const searchParams = new URLSearchParams()
+    searchParams.set('id', id)
+    if (ref_url.startsWith('http')) {
+      searchParams.set('ref_url', encodeURIComponent(ref_url))
+    }
+
     const iframe = document.createElement('iframe')
     iframe.setAttribute('data-bluesky-id', id)
-    iframe.src = `${EMBED_URL}/embed/${aturi.slice('at://'.length)}?id=${id}`
+    iframe.src = `${EMBED_URL}/embed/${aturi.slice(
+      'at://'.length,
+    )}?${searchParams.toString()}`
     iframe.width = '100%'
     iframe.style.border = 'none'
     iframe.style.display = 'block'
diff --git a/bskyembed/src/components/link.tsx b/bskyembed/src/components/link.tsx
index db752542b..64c2c9a83 100644
--- a/bskyembed/src/components/link.tsx
+++ b/bskyembed/src/components/link.tsx
@@ -8,8 +8,14 @@ export function Link({
   href: string
   className?: string
 } & h.JSX.HTMLAttributes<HTMLAnchorElement>) {
+  const searchParam = new URLSearchParams(window.location.search)
+  const ref_url = searchParam.get('ref_url')
+
   const newSearchParam = new URLSearchParams()
   newSearchParam.set('ref_src', 'embed')
+  if (ref_url) {
+    newSearchParam.set('ref_url', ref_url)
+  }
 
   return (
     <a