"use client"; import { motion, AnimatePresence } from "framer-motion"; import { useState, useEffect } from "react"; import type { DemoData } from "@/data/demos"; const fadeUp = { hidden: { opacity: 0, y: 35 }, show: { opacity: 1, y: 0, transition: { duration: 0.75, ease: [0.25, 0.46, 0.45, 0.94] as [number, number, number, number] } }, }; const stagger = { hidden: {}, show: { transition: { staggerChildren: 0.1 } }, }; const translations = { tr: { navServices: "Hizmetlerimiz", navDoctors: "Uzman Kadromuz", navReviews: "Hasta Yorumları", navContact: "İletişim", navBooking: "Randevu Al", badge: "GÜVENİLİR SAĞLIK MERKEZİ", heroTitlePart1: "Sağlığınız İçin", heroTitlePart2: "En İyi Ellerde", heroTitlePart3: "Olun", heroDesc: "Uzman hekim kadromuz, modern tıbbi donanımımız ve kişiye özel tedavi yaklaşımlarımızla sağlığınızı korumak için buradayız. Doğan Tıp Merkezi güvenilir koordinatları.", appointmentsToday: "Bugünkü Randevular", saturday: "Cumartesi, 28 Mayıs 2026", appointmentList: [ { saat: "09:30", tip: "Genel Muayene", dolu: true }, { saat: "11:00", tip: "Check-Up Kontrolü", dolu: false }, { saat: "13:30", tip: "Kardiyoloji Muayenesi", dolu: true }, { saat: "15:00", tip: "Göz Muayenesi", dolu: false }, ], statusDolu: "Dolu", statusMusait: "Müsait", ratingText: "4.9 / 5 • 620+ Hasta Değerlendirmesi", smsReminder: "SMS Hatırlatma", smsDesc: "Randevularınızı asla kaçırmayın", servicesTitle: "Hizmetlerimiz", servicesHeader: "UZMAN KADROMUZLA HER ALANDA YANINIZDAYIZ", learnMore: "Detaylı Bilgi →", doctorsTitle: "Ekibimiz", doctorsHeader: "ALANINDA UZMAN DOKTORLARIMIZ", yearsExp: "Yıl Deneyim", patientsTreated: "Hasta Tedavisi", bookingTitle: "Online Randevu", bookingHeader: "HEMEN RANDEVU OLUŞTURUN", bookingDesc: "Formu doldurun, randevu koordinatörümüz sizi 15 dakika içinde arayıp gününüzü kesinleştirsin.", fieldsName: "Ad Soyad", fieldsPhone: "Telefon Numarası", fieldsEmail: "E-Posta Adresi", fieldsDepartment: "Bölüm / Klinik", fieldsDate: "Randevu Tarihi", fieldsNotes: "Notunuz / Şikayetiniz", fieldsNotesPlaceholder: "Belirtmek istediğiniz tıbbi şikayetler veya özel notlar...", dispatchForm: "RANDEVU TALEP ET", contactDetails: "İLETİŞİM BİLGİLERİMİZ", callCenter: "7/24 Çağrı Merkezi", addressLabel: "Klinik Adresi", emailLabel: "E-Posta", footerDesc: "İleri tanı ve tedavi yöntemleri, hasta odaklı hizmet anlayışı ve seçkin hekim kadrosuyla sağlığınız için en güvenilir koordinat.", privacyRegs: "Gizlilik Sözleşmesi", termsStay: "Kullanım Şartları", dismiss: "KAPAT", contactTitle: "Hızlı Danışma", contactDesc: "İletişim bilgilerinizi bırakın, tıbbi danışmanımız sizi hemen arasın.", submit: "Gönder", serviceDahiliye: "Dahiliye", serviceDahiliyeDesc: "Erişkin hastalıklarında kapsamlı tanı ve tedavi hizmetleri.", serviceKardiyoloji: "Kardiyoloji", serviceKardiyolojiDesc: "Kalp ve damar sağlığı için ileri tanı ve tedavi yöntemleri.", serviceDis: "Diş Hekimliği", serviceDisDesc: "İmplant, ortodonti ve estetik gülüş tasarımı uygulamaları.", serviceGoz: "Göz Sağlığı", serviceGozDesc: "Lazer tedavileri, katarakt ve mikro cerrahi operasyonları.", serviceLab: "Laboratuvar", serviceLabDesc: "Hızlı, güvenilir ve tam kapsamlı tahlil sonuçları.", serviceRad: "Radyoloji", serviceRadDesc: "MR, bilgisayarlı tomografi ve ileri ultrason görüntüleme.", }, en: { navServices: "Our Services", navDoctors: "Our Doctors", navReviews: "Testimonials", navContact: "Contact", navBooking: "Book Appointment", badge: "TRUSTED MEDICAL CENTER", heroTitlePart1: "Your Health", heroTitlePart2: "In The Safest Hands", heroTitlePart3: "Always", heroDesc: "We protect your health with our expert physicians, state-of-the-art diagnostic systems, and customized treatment plans. Trusted coordinates of Doğan Medical Center.", appointmentsToday: "Today's Schedule", saturday: "Saturday, May 28, 2026", appointmentList: [ { saat: "09:30", tip: "General Checkup", dolu: true }, { saat: "11:00", tip: "Prevention Review", dolu: false }, { saat: "13:30", tip: "Cardiology Consult", dolu: true }, { saat: "15:00", tip: "Ophthalmology Exam", dolu: false }, ], statusDolu: "Booked", statusMusait: "Available", ratingText: "4.9 / 5 • 620+ Patient Feedbacks", smsReminder: "SMS Reminder", smsDesc: "Never miss your medical checks", servicesTitle: "Our Services", servicesHeader: "COMPREHENSIVE MEDICAL CARE IN EVERY SPECIALTY", learnMore: "Learn More →", doctorsTitle: "Our Team", doctorsHeader: "MEET OUR ACCOMPLISHED PHYSICIANS", yearsExp: "Years Experience", patientsTreated: "Patients Treated", bookingTitle: "Online Booking", bookingHeader: "SCHEDULE A MEDICAL APPOINTMENT", bookingDesc: "Fill in the details and our patient representative will call you back within 15 minutes to lock your slot.", fieldsName: "Full Name", fieldsPhone: "Phone Number", fieldsEmail: "Email Address", fieldsDepartment: "Specialty / Department", fieldsDate: "Preferred Date", fieldsNotes: "Symptoms / Clinical Notes", fieldsNotesPlaceholder: "Briefly describe your symptoms or specific notes for the doctor...", dispatchForm: "REQUEST APPOINTMENT", contactDetails: "CONTACT CHANNELS", callCenter: "24/7 Call Center", addressLabel: "Clinic Coordinates", emailLabel: "Support Email", footerDesc: "Trusted medical hub offering comprehensive diagnosis and advanced therapy protocols utilizing the latest patient care systems.", privacyRegs: "Privacy Policy", termsStay: "Terms of Service", dismiss: "DISMISS", contactTitle: "Quick Consultation", contactDesc: "Leave your contact coordinates and our medical coordinator will call you back shortly.", submit: "Submit", serviceDahiliye: "Internal Medicine", serviceDahiliyeDesc: "Comprehensive diagnostics and advanced therapies for adult diseases.", serviceKardiyoloji: "Cardiology", serviceKardiyolojiDesc: "Advanced diagnostics and treatment plans for cardiovascular wellness.", serviceDis: "Dentistry", serviceDisDesc: "Modern implants, clear aligners, and aesthetic smile design applications.", serviceGoz: "Ophthalmology", serviceGozDesc: "State-of-the-art laser corrections, cataract surgeries, and microsurgery.", serviceLab: "Medical Laboratory", serviceLabDesc: "Ultra-fast, certified, and fully automated biological analysis protocols.", serviceRad: "Advanced Radiology", serviceRadDesc: "High-resolution MRI, computerized tomography, and diagnostic ultrasound.", } }; export default function KlinikTemplate({ data }: { data: DemoData }) { const { firma, istatistikler = [], hizmetler = [], doktorlar = [], yorumlar = [] } = data; const [showBookingModal, setShowBookingModal] = useState(false); const [activeYorum, setActiveYorum] = useState(0); const [lang, setLang] = useState<"tr" | "en">("tr"); const [preloader, setPreloader] = useState(true); const t = translations[lang]; // Lenis Smooth Scroll Integration useEffect(() => { let lenis: any; import("@studio-freight/lenis").then(({ default: Lenis }) => { lenis = new Lenis({ duration: 1.2, easing: (x: number) => Math.min(1, 1.001 - Math.pow(2, -10 * x)) }); function raf(time: number) { lenis.raf(time); requestAnimationFrame(raf); } requestAnimationFrame(raf); }); return () => lenis?.destroy(); }, []); // Preloader Curtain Timer useEffect(() => { const timer = setTimeout(() => { setPreloader(false); }, 1500); return () => clearTimeout(timer); }, []); // Localized statistics labels const getLocalizedStatLabel = (deger: string) => { if (deger === "4200") return lang === "tr" ? "Mutlu Hasta" : "Happy Patients"; if (deger === "14") return lang === "tr" ? "Uzman Hekim" : "Expert Physicians"; if (deger === "12") return lang === "tr" ? "Yıl Deneyim" : "Years of Experience"; return lang === "tr" ? "Hasta Yorumu" : "Patient Reviews"; }; // Maps services text based on data const getLocalizedServiceText = (baslik: string) => { if (baslik.includes("Dahiliye")) return { title: t.serviceDahiliye, desc: t.serviceDahiliyeDesc }; if (baslik.includes("Kardiyoloji")) return { title: t.serviceKardiyoloji, desc: t.serviceKardiyolojiDesc }; if (baslik.includes("Diş")) return { title: t.serviceDis, desc: t.serviceDisDesc }; if (baslik.includes("Göz")) return { title: t.serviceGoz, desc: t.serviceGozDesc }; if (baslik.includes("Laboratuvar")) return { title: t.serviceLab, desc: t.serviceLabDesc }; return { title: t.serviceRad, desc: t.serviceRadDesc }; }; // Maps service icons const getServiceIconSvg = (baslik: string) => { if (baslik.includes("Dahiliye")) { return ( ); } if (baslik.includes("Kardiyoloji")) { return ( ); } if (baslik.includes("Diş")) { return ( ); } if (baslik.includes("Göz")) { return ( ); } if (baslik.includes("Laboratuvar")) { return ( ); } return ( ); }; const getLocalizedDoctor = (ad: string) => { if (ad.includes("Ahmet")) { return { name: lang === "tr" ? "Dr. Ahmet Yılmaz" : "Dr. Ahmet Yilmaz", title: lang === "tr" ? "Dahiliye Uzmanı" : "Internal Medicine Specialist", }; } if (ad.includes("Ayşe")) { return { name: lang === "tr" ? "Dr. Ayşe Kaya" : "Dr. Ayse Kaya", title: lang === "tr" ? "Kardiyolog" : "Cardiologist", }; } if (ad.includes("Mehmet")) { return { name: lang === "tr" ? "Dr. Mehmet Demir" : "Dr. Mehmet Demir", title: lang === "tr" ? "Göz Sağlığı Uzmanı" : "Ophthalmology Specialist", }; } return { name: lang === "tr" ? "Dr. Zeynep Arslan" : "Dr. Zeynep Arslan", title: lang === "tr" ? "Estetik Diş Hekimi" : "Aesthetic Dentist", }; }; const css = ` @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800;900&family=Sora:wght@300;400;500;600;700;800&display=swap'); :root { --color-klinik-sky: #0ea5e9; --color-klinik-sky-dark: #0284c7; --color-klinik-sky-light: #e0f2fe; --color-klinik-charcoal: #0F172A; --color-klinik-sand: #FAF8F5; } .font-sora-editorial { font-family: 'Sora', sans-serif; } .font-sans-clean { font-family: 'DM Sans', sans-serif; } .shadow-premium { box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05); } .hero-title-clamp { font-size: clamp(38px, 6vw, 85px); letter-spacing: -0.02em; line-height: 0.95; } `; return ( <> {/* ── IMZA AN: CURTAIN REVEAL PRELOADER ── */} {preloader && (
DOĞAN TIP MERKEZİ
interactive prototype
)}
{/* Floating Ambient Orbs */}
{/* ── FLOATING CONCEPT BANNER ── */}
{lang === "tr" ? "Bu web sitesi Ayris Tech tarafından hazırlanmış bir konsept çalışmasıdır." : "This website is a premium concept prototype designed by Ayris Tech."}
{/* ── PREMIUM NAVBAR ── */}
{/* Logo */} {firma.adi} {/* Links */} {/* Language Selector + Booking Button */}
{/* Language Switcher */}
setShowBookingModal(true)} className="text-[10px] font-black tracking-[2.5px] uppercase text-white bg-[#0ea5e9] hover:bg-[#0284c7] px-6 py-3.5 rounded-xl transition-all cursor-pointer shadow-[0_4px_12px_rgba(14,165,233,0.15)] hidden sm:block" whileHover={{ scale: 1.02 }} whileTap={{ scale: 0.98 }} > {t.navBooking}
{/* ── HERO & INTERACTIVE APPOINTMENT TRACKER ── */}
{/* Left Column: Heading and clinic stats */} {t.badge} {t.heroTitlePart1}
{t.heroTitlePart2}
{t.heroTitlePart3}
{t.heroDesc} {/* Statistics Grid */} {istatistikler.map((stat, idx) => (

{stat.deger === "4200" || stat.deger === "620" ? `${stat.deger}+` : stat.deger}

{getLocalizedStatLabel(stat.deger)}

))}
{/* CTA buttons */} 📅 {t.navBooking} {t.navServices}
{/* Right Column: Layered Live Tracker Mockup */}

{t.appointmentsToday}

{t.saturday}
{t.appointmentList.map((r, i) => (
{r.saat}
{r.tip}
{r.dolu ? t.statusDolu : t.statusMusait}
))}
{/* Rating Badge Overlay */}
{t.ratingText.split("•")[0]}
{t.ratingText.split("•")[1]}
{/* SMS Reminder Overlay */} 🔔
{t.smsReminder}
{t.smsDesc}
{/* ── HİZMETLER ── */}
{t.servicesTitle} {t.servicesHeader} {hizmetler.map((h, i) => { const item = getLocalizedServiceText(h.baslik); return (
{getServiceIconSvg(h.baslik)}

{item.title}

{item.desc}

); })}
{/* ── DOKTORLAR ── */}
{t.doctorsTitle} {t.doctorsHeader} {doktorlar.map((d, i) => { const doc = getLocalizedDoctor(d.ad); return (
{d.emoji}

{doc.name}

{doc.title}

⭐ {d.puan} 🏥 {d.yil} {lang === "tr" ? "YIL" : "YRS"} 👥 {d.hasta}+ {lang === "tr" ? "HASTA" : "PATS"}
); })}
{/* ── ONLINE APPOINTMENT FORM ── */}
{/* Subtle cosmic grid layout */}
{/* Left Column: Contact details */} {t.bookingTitle} {t.bookingHeader} {t.bookingDesc} {[ { ikon: "📞", baslik: t.callCenter, aciklama: firma.telefon }, { ikon: "📍", baslik: t.addressLabel, aciklama: firma.adres }, { ikon: "✉️", baslik: t.emailLabel, aciklama: firma.email }, ].map((item) => (
{item.ikon}

{item.baslik}

{item.aciklama}

))}
{/* Right Column: Appointment Form */}

{t.bookingTitle}

{[ { label: t.fieldsName, placeholder: lang === "tr" ? "Adınız Soyadınız" : "Your Full Name", type: "text", full: false }, { label: t.fieldsPhone, placeholder: "05xx xxx xx xx", type: "tel", full: false }, { label: t.fieldsEmail, placeholder: "ornek@mail.com", type: "email", full: false }, { label: t.fieldsDepartment, placeholder: "", type: "select", full: false }, { label: t.fieldsDate, placeholder: "", type: "date", full: false }, { label: t.fieldsNotes, placeholder: t.fieldsNotesPlaceholder, type: "text", full: true }, ].map((field, i) => (
{field.type === "select" ? ( ) : ( )}
))}
setShowBookingModal(true)} className="mt-6 w-full py-4.5 rounded-xl text-white font-black text-xs uppercase tracking-widest cursor-pointer shadow-[0_5px_15px_rgba(14,165,233,0.2)]" style={{ background: `linear-gradient(135deg, ${firma.renkAna}, ${firma.renkKoyu})` }} whileHover={{ scale: 1.02 }} whileTap={{ scale: 0.98 }} > 📅 {t.dispatchForm}
{/* ── TESTIMONIALS ── */}
{t.navReviews}

{t.bookingTitle}

{[...Array(yorumlar[activeYorum]?.puan || 5)].map((_, i) => ( ))}

“{yorumlar[activeYorum]?.yorum}”

{yorumlar[activeYorum]?.yazar.charAt(0)}

{yorumlar[activeYorum]?.yazar}

{yorumlar[activeYorum]?.tarih}

{yorumlar.map((_, i) => (
{/* ── FOOTER ── */}
{firma.adi}

{t.footerDesc}

📍 {firma.adres}

📞 {firma.telefon}

{t.navServices}

{hizmetler.slice(0, 4).map((h, i) => { const s = getLocalizedServiceText(h.baslik); return ( {s.title} ); })}

Klinik

{[t.navServices, t.navDoctors, t.navReviews, t.navContact].map((item) => ( {item} ))}

© 2026 {firma.adi}. All rights reserved.

{/* ── BOOKING MODAL ── */} {showBookingModal && (

{t.contactTitle}

{t.contactDesc}

setShowBookingModal(false)} > {t.submit}
)}
); }