"use client"; import { useTranslations } from 'next-intl'; import { motion } from 'framer-motion'; import { MapPin, Phone, Send } from 'lucide-react'; import { Instagram } from '@/components/InstagramIcon'; import { useState } from 'react'; export default function Contact({ dbContact }: { dbContact?: any }) { const t = useTranslations('Contact'); const [formData, setFormData] = useState({ name: '', date: '', guests: '', message: '' }); // Fallback to env or translations if dbContact is empty const phoneVal = dbContact?.phone || process.env.NEXT_PUBLIC_WHATSAPP_NUMBER || '905000000000'; const addressVal = dbContact?.address || t('address'); const instagramVal = dbContact?.instagram || 'https://www.instagram.com/kozmosbeach/'; const mapUrlVal = dbContact?.mapUrl || "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d12754.717654763133!2d28.3144!3d36.9507!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x14bf76ccf312ba37%3A0xcdaaa97b102b4bb7!2sAkyaka%2C%20Ula%2FMu%C4%9Fla!5e0!3m2!1str!2str!4v1700000000000!5m2!1str!2str"; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); const phone = phoneVal.replace(/[^0-9]/g, ''); const text = `*Yeni Rezervasyon Talebi*%0A%0A*Ad Soyad:* ${formData.name}%0A*Tarih:* ${formData.date}%0A*Kişi Sayısı:* ${formData.guests}%0A*Mesaj:* ${formData.message}`; window.open(`https://wa.me/${phone}?text=${text}`, '_blank'); }; const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; const contactItems = [ { Icon: MapPin, label: 'Adres', value: addressVal, color: 'text-coral', bg: 'bg-coral/10', }, { Icon: Phone, label: 'Telefon / WhatsApp', value: `+${phoneVal}`, color: 'text-aqua', bg: 'bg-aqua/10', }, { Icon: Instagram, label: 'Instagram', value: instagramVal.replace('https://www.instagram.com/', '@').replace('/', ''), href: instagramVal, color: 'text-amber', bg: 'bg-amber/10', }, ]; const inputClass = 'w-full bg-sand border border-sandy rounded-xl px-4 py-3 text-sm focus:outline-none focus:border-coral focus:ring-1 focus:ring-coral transition-all placeholder:text-midnight/30'; return (
— Bize Ulaşın

{t('title')}

{/* Left: info + form */} {/* Contact info */}
{contactItems.map(({ Icon, label, value, href, color, bg }) => (

{label}

{href ? ( {value} ) : (

{value}

)}
))}
{/* Form */}