Files
web/components/Footer/Details/SocialLink/index.tsx
2025-01-10 08:15:14 +01:00

30 lines
881 B
TypeScript

"use client"
import { getIconByIconName } from "@/components/Icons/get-icon-by-icon-name"
import { trackSocialMediaClick } from "@/utils/tracking"
import type { SocialIconsProps } from "@/types/components/footer/socialIcons"
import type { SocialLinkProps } from "@/types/components/footer/socialLink"
import type { IconName } from "@/types/components/icon"
function SocialIcon({ iconName }: SocialIconsProps) {
const SocialIcon = getIconByIconName(iconName as IconName)
return SocialIcon ? <SocialIcon color="white" /> : <span>{iconName}</span>
}
export default function SocialLink({ link }: SocialLinkProps) {
const { href, title } = link
return (
<a
color="white"
href={href}
key={title}
target="_blank"
aria-label={title}
onClick={() => trackSocialMediaClick(title)}
>
<SocialIcon iconName={title} />
</a>
)
}