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;