diff --git a/src/components/Contact.tsx b/src/components/Contact.tsx new file mode 100644 index 0000000..27fcc16 --- /dev/null +++ b/src/components/Contact.tsx @@ -0,0 +1,115 @@ +'use client'; + +import { motion } from 'framer-motion'; +import { useTranslations } from 'next-intl'; +import { Send, Instagram, BookOpen, Globe, ArrowRight } from 'lucide-react'; + +type ContactRow = { + key: string; + icon: React.ComponentType; + handle: string; + url: string; +}; + +export default function Contact() { + const t = useTranslations('Contact'); + + const contactRows: ContactRow[] = [ + { + key: 'telegram', + icon: Send, + handle: 't.me/Coaxys', + url: 'https://t.me/Coaxys', + }, + { + key: 'instagram', + icon: Instagram, + handle: '@_coaxys', + url: 'https://instagram.com/_coaxys', + }, + { + key: 'teknav', + icon: BookOpen, + handle: 'teknav.ir/profile/@arsam-sabbagh', + url: 'https://teknav.ir/profile/@arsam-sabbagh', + }, + { + key: 'domain', + icon: Globe, + handle: 'arsamsabbagh.ir', + url: 'https://arsamsabbagh.ir', + }, + ]; + + return ( +
+
+
+ + {/* Text/Copy Column (Left) */} + +
+

+ {t('title')} +

+

+ {t('subtitle')} +

+
+ +

+ {t('lead')} +

+
+ + {/* Social Links Rows Column (Right) */} + + {contactRows.map((row) => { + const Icon = row.icon; + return ( + +
+
+ +
+
+

+ {t(`links.${row.key}`)} +

+

+ {row.handle} +

+
+
+ +
+ +
+
+ ); + })} +
+ +
+
+
+ ); +}