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; }