Bluesky app fork with some witchin' additions 馃挮
witchsky.app
bluesky
fork
client
1import {h} from 'preact'
2
3export function Link({
4 href,
5 className,
6 disableTracking,
7 ...props
8}: {
9 href: string
10 className?: string
11 disableTracking?: boolean
12} & h.JSX.HTMLAttributes<HTMLAnchorElement>) {
13 const searchParam = new URLSearchParams(window.location.search)
14 const ref_url = searchParam.get('ref_url')
15
16 const newSearchParam = new URLSearchParams()
17 newSearchParam.set('ref_src', 'embed')
18 if (ref_url) {
19 newSearchParam.set('ref_url', ref_url)
20 }
21
22 return (
23 <a
24 href={`${href.startsWith('http') ? href : `https://bsky.app${href}`}${
25 disableTracking ? '' : `?${newSearchParam.toString()}`
26 }`}
27 target="_blank"
28 rel="noopener noreferrer nofollow"
29 onClick={evt => evt.stopPropagation()}
30 className={`cursor-pointer ${className || ''}`}
31 {...props}
32 />
33 )
34}