2024-06-16 11:23:02 +02:00
|
|
|
import * as React from 'react'
|
2024-07-11 21:43:38 +02:00
|
|
|
import { useRouter } from '../hooks/useRouter'
|
2024-05-11 15:08:49 +02:00
|
|
|
import type { AnchorHTMLAttributes, MouseEvent } from 'react'
|
|
|
|
|
|
|
|
|
|
export default function Link(
|
|
|
|
|
props: AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
|
|
): JSX.Element {
|
2024-07-11 21:43:38 +02:00
|
|
|
const router = useRouter()
|
|
|
|
|
|
2024-05-11 15:08:49 +02:00
|
|
|
const handleTransition = (e: MouseEvent<HTMLAnchorElement>): void => {
|
|
|
|
|
e.preventDefault()
|
|
|
|
|
props.onClick?.(e)
|
2024-07-11 21:43:38 +02:00
|
|
|
router.push(props.href || '')
|
2024-05-11 15:08:49 +02:00
|
|
|
}
|
2024-07-11 21:43:38 +02:00
|
|
|
|
2024-05-11 15:08:49 +02:00
|
|
|
return (
|
|
|
|
|
<a {...props} onClick={handleTransition}>
|
|
|
|
|
{props.children}
|
|
|
|
|
</a>
|
|
|
|
|
)
|
|
|
|
|
}
|