jonbio/components/Link.tsx
Jonathan Branan 081f5b1f67
Some checks failed
GitHub Pages / deploy (push) Has been cancelled
GitHub Pages / build (push) Has been cancelled
First iteration of blog
2024-10-14 00:18:50 -05:00

24 lines
698 B
TypeScript

/* eslint-disable jsx-a11y/anchor-has-content */
import Link from 'next/link'
import type { LinkProps } from 'next/link'
import { AnchorHTMLAttributes } from 'react'
const CustomLink = ({ href, ...rest }: LinkProps & AnchorHTMLAttributes<HTMLAnchorElement>) => {
const isInternalLink = href && href.startsWith('/')
const isAnchorLink = href && href.startsWith('#')
if (isInternalLink) {
return <Link className="break-words" href={href} {...rest} />
}
if (isAnchorLink) {
return <a className="break-words" href={href} {...rest} />
}
return (
<a className="break-words" target="_blank" rel="noopener noreferrer" href={href} {...rest} />
)
}
export default CustomLink