36 lines
706 B
TypeScript
36 lines
706 B
TypeScript
"use client"
|
|
|
|
import NextLink from "next/link"
|
|
|
|
import Button from "@/components/TempDesignSystem/Button"
|
|
import { trackClick } from "@/utils/tracking"
|
|
|
|
import type { ButtonLinkProps } from "@/types/components/buttonLink"
|
|
|
|
export default function ButtonLink({
|
|
children,
|
|
href,
|
|
target,
|
|
trackingId,
|
|
trackingParams,
|
|
onClick = () => {},
|
|
...buttonProps
|
|
}: ButtonLinkProps) {
|
|
return (
|
|
<Button {...buttonProps} asChild>
|
|
<NextLink
|
|
href={href}
|
|
target={target}
|
|
onClick={(e) => {
|
|
onClick(e)
|
|
if (trackingId) {
|
|
trackClick(trackingId, trackingParams)
|
|
}
|
|
}}
|
|
>
|
|
{children}
|
|
</NextLink>
|
|
</Button>
|
|
)
|
|
}
|