Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
at main 34 lines 841 B view raw
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}