// eslint-disable-next-line @typescript-eslint/no-deprecated import { Mail, Send, Github, Linkedin } from 'lucide-react'; import { personalConfig } from '../../config/personal'; import { useLanguage } from '../../contexts/LanguageContext'; import { useScreenReaderAnnouncements } from '../../hooks/useScreenReaderAnnouncements'; interface ContactSectionProps { title?: string; subtitle?: string; connectTitle?: string; connectDescription?: string; buttonText?: string; socialTitle?: string; availabilityText?: string; responseTimeLabel?: string; responseTimeValue?: string; preferredContactLabel?: string; preferredContactValue?: string; locationLabel?: string; locationValue?: string; } export default function ContactSection(props: ContactSectionProps = {}) { const { texts: allTexts } = useLanguage(); const texts = allTexts.contact; const { announce } = useScreenReaderAnnouncements(); const { title = texts.title, subtitle = texts.subtitle, connectTitle = texts.connectTitle, connectDescription = texts.connectDescription, buttonText = texts.buttonText, socialTitle = texts.socialTitle, availabilityText = texts.availabilityText, responseTimeLabel = texts.responseTimeLabel, responseTimeValue = texts.responseTimeValue, preferredContactLabel = texts.preferredContactLabel, preferredContactValue = texts.preferredContactValue, locationLabel = texts.locationLabel, locationValue = texts.locationValue, } = props; // Enhanced email handler with better accessibility const handleEmailClick = () => { const email = getEmailAddress(); const subject = encodeURIComponent(texts.emailSubject); const body = encodeURIComponent(texts.emailBody); announce(texts.emailAnnouncement); globalThis.location.href = `mailto:${email}?subject=${subject}&body=${body}`; }; const getEmailAddress = () => { const parts = ['freelancer', 'sascha-bach', 'de']; return parts[0] + '@' + parts[1] + '.' + parts[2]; }; return (
{/* Section Header */}

{title}

{subtitle}

{/* Contact Content Grid */}
{/* Let's Connect Card */}
{/* Hidden description for screen readers */}
This button will open your default email client with a pre-filled message to {getEmailAddress()}
{/* Contact Info Sidebar */} {/* Social Contact Methods */}

{socialTitle}

); }