14 lines
495 B
TypeScript
14 lines
495 B
TypeScript
"use client";
|
|
|
|
import type { AnchorHTMLAttributes, ReactNode } from "react";
|
|
import { trackClientEvent } from "@/lib/analytics-client";
|
|
|
|
type TrackedLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
entityId: string;
|
|
children: ReactNode;
|
|
};
|
|
|
|
export default function TrackedLink({ entityId, onClick, children, ...props }: TrackedLinkProps) {
|
|
return <a {...props} onClick={(event) => { trackClientEvent({ type: "PROJECT_LINK_CLICK", entityId }); onClick?.(event); }}>{children}</a>;
|
|
}
|