import type { ReactNode, SVGProps } from 'react' type IconProps = SVGProps const baseProps = (className?: string): IconProps => ({ className, fill: 'none', height: 24, viewBox: '0 0 24 24', width: 24, xmlns: 'http://www.w3.org/2000/svg', 'aria-hidden': true, }) const InstagramChannelIcon = ({ className }: { className?: string }) => ( ) const TelegramChannelIcon = ({ className }: { className?: string }) => ( ) const TwitterChannelIcon = ({ className }: { className?: string }) => ( ) const LinkedinChannelIcon = ({ className }: { className?: string }) => ( ) const YoutubeChannelIcon = ({ className }: { className?: string }) => ( ) const WebsiteChannelIcon = ({ className }: { className?: string }) => ( ) const SupportPhoneChannelIcon = ({ className }: { className?: string }) => ( ) const CHANNEL_ICONS: Record ReactNode> = { instagram: InstagramChannelIcon, telegram: TelegramChannelIcon, twitter: TwitterChannelIcon, linkedin: LinkedinChannelIcon, youtube: YoutubeChannelIcon, website: WebsiteChannelIcon, support_phone: SupportPhoneChannelIcon, } interface ContactChannelIconProps { channel: string className?: string } const ContactChannelIcon = ({ channel, className = 'size-6 text-primary' }: ContactChannelIconProps) => { const Icon = CHANNEL_ICONS[channel] ?? WebsiteChannelIcon return } export default ContactChannelIcon