Files
klz-cables.com/components/RelatedProductLink.tsx
Marc Mintel 76f745cc87
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 6s
Build & Deploy / 🧪 QA (push) Successful in 1m22s
Build & Deploy / 🏗️ Build (push) Failing after 1m0s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Smoke Test (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 1s
fix: resolve lint and build errors
- Added 'use client' to not-found.tsx
- Refactored RelatedProducts to Server Component to fix 'fs' import error
- Created RelatedProductLink for client-side analytics
- Fixed lint syntax issues in RecordModeVisuals.tsx
- Fixed rule-of-hooks violation in WebsiteVideo.tsx
2026-02-16 18:50:34 +01:00

40 lines
806 B
TypeScript

'use client';
import Link from 'next/link';
import { useAnalytics } from './analytics/useAnalytics';
import { AnalyticsEvents } from './analytics/analytics-events';
interface RelatedProductLinkProps {
href: string;
productSlug: string;
productTitle: string;
children: React.ReactNode;
className?: string;
}
export function RelatedProductLink({
href,
productSlug,
productTitle,
children,
className,
}: RelatedProductLinkProps) {
const { trackEvent } = useAnalytics();
return (
<Link
href={href}
className={className}
onClick={() =>
trackEvent(AnalyticsEvents.PRODUCT_VIEW, {
product_id: productSlug,
product_name: productTitle,
location: 'related_products',
})
}
>
{children}
</Link>
);
}