From 1a9eeb760ff0f9fcc8b7fd510ac3be7db889e95d Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Sat, 13 Apr 2024 13:22:19 +0100 Subject: [PATCH] [Embeds] Add ref_url (#3533) * get outer location and pass in to the iframe * enable post.html in dev * only add ref_url if starts with http * Revert "enable post.html in dev" This reverts commit 6f224c6e2c4a016f7ea17ff998c4b4e56b9a4f9b. --------- Co-authored-by: Dan Abramov --- bskyembed/snippet/embed.ts | 12 +++++++++++- bskyembed/src/components/link.tsx | 6 ++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bskyembed/snippet/embed.ts b/bskyembed/snippet/embed.ts index f2b9b442..380cda5f 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 db752542..64c2c9a8 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) { + 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 (