fix: handle target=_blank in link

This commit is contained in:
Christel Westerberg
2024-08-28 15:34:06 +02:00
parent 2c6f43ef6c
commit bd0d7e61e9

View File

@@ -1,7 +1,7 @@
"use client"
import NextLink from "next/link"
import { usePathname, useRouter } from "next/navigation"
import { startTransition, useCallback, useEffect } from "react"
import { startTransition, useCallback } from "react"
import useRouterTransitionStore from "@/stores/router-transition"
@@ -60,15 +60,21 @@ export default function Link({
prefetch={prefetch}
className={classNames}
onClick={(e) => {
if (onClick) {
onClick(e)
}
if (trackingId) {
trackClickById()
}
if (props.target === "_blank") {
// If link should open in new tab, we don't want to
// track navigation nor start a router transition.
return
}
e.preventDefault()
trackPageViewStart()
startTransition(() => {
startRouterTransition()
if (trackingId) {
trackClickById()
}
if (onClick) {
onClick(e)
}
router.push(href)
})
}}