import { Link as RouterLink } from '@tanstack/react-router'; import classNames from 'classnames'; import type { HTMLAttributes } from 'react'; import { appInfo } from '../../lib/appInfo'; import { Icon } from './Icon'; interface Props extends HTMLAttributes { href: string; noUnderline?: boolean; } export function Link({ href, children, noUnderline, className, ...other }: Props) { const isExternal = href.match(/^https?:\/\//); className = classNames( className, 'relative', 'inline-flex items-center hover:underline group', !noUnderline && 'underline', ); if (isExternal) { const isYaakLink = href.startsWith('https://yaak.app'); let finalHref = href; if (isYaakLink) { const url = new URL(href); url.searchParams.set('ref', appInfo.identifier); finalHref = url.toString(); } return ( // eslint-disable-next-line react/jsx-no-target-blank e.preventDefault()} className={className} {...other} > {children} ); } return ( {children} ); } export function FeedbackLink() { return Feedback; }