import React from 'react'; import { EnvelopeSimpleIcon, LinkedinLogoIcon, XLogoIcon, GithubLogoIcon, GlobeIcon, RedditLogoIcon, ArrowUpRightIcon, } from '@phosphor-icons/react'; import GenericModal from './GenericModal'; import { useSiteConfig } from '../context/SiteConfigContext'; import { useVisualSettings } from '../context/VisualSettingsContext'; const socialIcons = { GithubLogo: GithubLogoIcon, XLogo: XLogoIcon, LinkedinLogo: LinkedinLogoIcon, EnvelopeSimple: EnvelopeSimpleIcon, RedditLogo: RedditLogoIcon, }; const ContactModal = ({ isOpen, onClose }) => { const { config } = useSiteConfig(); const { fezcodexTheme } = useVisualSettings(); const isLuxe = fezcodexTheme === 'luxe'; return ( {isLuxe ? ( Choose a preferred channel to initiate communication with the primary node. ) : ( {'//'} Establish connection via established protocols: )} {config?.socials && config.socials.map((link) => { const Icon = socialIcons[link.icon] || GlobeIcon; if (isLuxe) { return ( ); } return ( ); })} ); }; const LuxeContactLink = ({ href, icon: Icon, label, value }) => ( {label} {value} ); const BrutalistContactLink = ({ href, icon: Icon, label, value }) => ( {label} {value} ); export default ContactModal;
Choose a preferred channel to initiate communication with the primary node.
{'//'} Establish connection via established protocols: