import React from 'react'; import { LinkIcon } from '@heroicons/react/24/outline'; import { FaFacebook, FaInstagram, FaTwitter, FaTiktok, FaYoutube, FaLinkedin, FaWhatsapp, FaTelegram, FaSpotify, FaLink } from 'react-icons/fa'; import { FaXTwitter, FaThreads } from 'react-icons/fa6'; import { type RedeSocial } from '../../api'; interface SocialMediaComponentProps { redesSociais: RedeSocial[] | null; isLoading: boolean; } // Helper function to get social media icons const getSocialMediaIcon = (rede: string, isRecent: boolean = true): React.ReactElement => { const iconClass = "h-5 w-5 mr-2"; const opacityClass = isRecent ? "" : "opacity-50"; switch (rede.toLowerCase()) { case 'facebook': return ; case 'instagram': return ; case 'x/twitter': case 'twitter': return ; case 'tiktok': return ; case 'youtube': return ; case 'linkedin': return ; case 'whatsapp': return ; case 'threads': return ; case 'telegram': return ; case 'spotify': return ; case 'kwai': case 'outros': default: return ; } }; const SocialMediaComponent: React.FC = ({ redesSociais, isLoading }) => { // Calculate the most recent year from all social media entries const mostRecentYear = redesSociais && redesSociais.length > 0 ? Math.max(...redesSociais.map(rede => rede.ano)) : null; return (

Redes Sociais

{isLoading ? (
) : redesSociais && redesSociais.length > 0 ? (
{redesSociais.map((redeSocial: RedeSocial, index: number) => { const isRecent = redeSocial.ano === mostRecentYear; return (
{getSocialMediaIcon(redeSocial.rede, isRecent)} {redeSocial.rede} ({redeSocial.ano})
{redeSocial.link}
); })}
) : (
Nenhuma rede social encontrada
)}
); }; export default SocialMediaComponent;