/* global React */ // sections.jsx — Site sections, all driven by cfg prop (from config.js). // ── Icons ─────────────────────────────────────────────────────────────────── const Ico = { phone: ( ), shield: ( ), clock: ( ), heart: ( ), paw: ( ), arrow: ( ), check: ( ), settings: ( ), }; // Brand logo — uses cfg.logoUrl if present, otherwise paw mark in circle function BrandMark({ cfg }) { if (cfg.logoUrl) { return {cfg.brandName}; } return {Ico.paw}; } function Brand({ cfg, dark = false }) { return ( {cfg.brandName} {cfg.brandSub} ); } // ── EmergencyBar ──────────────────────────────────────────────────────────── function EmergencyBar({ cfg, onCall }) { return (
{cfg.brandTagline}
{ e.preventDefault(); onCall(); }}> {cfg.phone}
); } // ── Nav ───────────────────────────────────────────────────────────────────── function Nav({ cfg, onCall }) { return ( ); } // ── Hero ──────────────────────────────────────────────────────────────────── function Hero({ cfg, onCall }) { return (
{cfg.heroEyebrow}

{cfg.heroTitlePre} {cfg.heroTitleEm} {cfg.heroTitlePost}

{cfg.heroSub}

Hizmetler
Ortalama Yanıt 5 dakika içinde
hero
Şu anda açık
7/24 Açık Klinik
{cfg.statYears} Yıl Tecrübe
{cfg.statPets} Mutlu Dost
); } // ── Services ──────────────────────────────────────────────────────────────── const SERVICES = [ { title: "7/24 Acil Müdahale", desc: "Gece gündüz, hafta sonu dahil. Acil durumlarda hemen arayın.", emergency: true }, { title: "Genel Muayene", desc: "Detaylı sağlık kontrolü ve teşhis hizmetleri." }, { title: "Aşı & Parazit", desc: "Karma aşı, kuduz aşısı, iç-dış parazit koruması." }, { title: "Cerrahi Operasyon", desc: "Modern ekipmanla güvenli ameliyat ve kısırlaştırma." }, { title: "Laboratuvar & Tahlil", desc: "Hızlı kan tahlili, idrar analizi ve görüntüleme." }, { title: "Bakım & Tıraş", desc: "Profesyonel tüy bakımı, tırnak kesimi, hijyen hizmetleri." }, ]; function Services({ onCall }) { return (
Hizmetlerimiz

Dostunuz için tam donanımlı bakım.

Acil müdahaleden rutin kontrole, ameliyathaneden laboratuvara kadar her ihtiyaç tek çatı altında.

{SERVICES.map((s, i) => (
{String(i + 1).padStart(2, "0")} / 06

{s.title}

{s.desc}

{s.emergency && Şimdi Ara}
))}
); } // ── About ─────────────────────────────────────────────────────────────────── function About({ cfg }) { const VALUES = [ { icon: Ico.shield, title: "Güvenilir Bakım", desc: "Lisanslı veteriner hekimler, steril klinik ortamı." }, { icon: Ico.clock, title: `${cfg.statYears} Yıl Tecrübe`, desc: "Esenler ve çevresinde binlerce mutlu evcil dost." }, { icon: Ico.heart, title: "Şefkatli Ekip", desc: "Hayvan dostlarımız ve sahipleri için empatiyle hizmet." }, ]; return (
Hakkımızda

Esenler'in 7/24 güvenilir veteriner adresi.

{cfg.aboutP1}

{cfg.aboutP2}

{VALUES.map((v, i) => (
{v.icon}

{v.title}

{v.desc}

))}
); } // ── Hours ─────────────────────────────────────────────────────────────────── const DAYS = ["Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"]; function Hours({ cfg, onCall }) { const jsDay = new Date().getDay(); const todayIdx = (jsDay + 6) % 7; return (
Çalışma Saatleri

7 gün, 24 saat.

Hafta sonu ve resmi tatiller dahil her gün hizmetinizdeyiz. Acil durumda telefon hattımızı arayın, sizi en kısa sürede karşılayalım.

{DAYS.map((d, i) => (
{d}{i === todayIdx ? " · Bugün" : ""} 00:00 — 24:00
))}
); } // ── Testimonials ──────────────────────────────────────────────────────────── const TESTIMONIALS = [ { name: "Ayşe Y.", pet: "Boncuk · Tekir kedi", quote: "Gece 2'de kedimiz hastalandı, telefonu açar açmaz yönlendirdiler. 10 dakika içinde kliniğe vardık, ekip kapıda bekliyordu." }, { name: "Mehmet K.", pet: "Şila · Golden", quote: "Köpeğimin ameliyatı sonrası süreç boyunca her gün arayıp durumunu sordular. Bu kadar ilgili bir veteriner görmedim." }, { name: "Zeynep T.", pet: "Pamuk · Britanya", quote: "Aşı takibi için düzenli geliyoruz. Ortam çok temiz, doktorlar sabırlı. Pamuk artık veteriner deyince korkmuyor." }, { name: "Cem A.", pet: "Karamel · Sokak", quote: "Yaralı bulduğum kediyi gece getirdim. Hiç ücret bile sormadılar, önce müdahale ettiler. Teşekkürler ekip." }, ]; function Testimonials({ cfg }) { return (
Mutlu Dostlar

{cfg.statPets} evcil dostun ailesi anlatıyor.

{TESTIMONIALS.map((t, i) => (
★ ★ ★ ★ ★

{t.quote}

{t.name}
{t.pet}
))}
→ kaydırın · binlerce yorumdan birkaçı
); } // ── Gallery ───────────────────────────────────────────────────────────────── const GALLERY = [ { label: "Klinik girişi · 4:5", cls: "gallery__cell--tall" }, { label: "Muayene odası", cls: "" }, { label: "Cerrahi salonu", cls: "" }, { label: "Bekleme alanı · panorama", cls: "gallery__cell--wide" }, { label: "Laboratuvar", cls: "" }, { label: "Ekibimiz", cls: "" }, ]; function Gallery() { return (
Klinikten Kareler

Dostunuzu emin ellere bırakın.

{GALLERY.map((g, i) => (
{g.label}
))}
); } // ── Appointment Form ──────────────────────────────────────────────────────── const PETS = ["Köpek", "Kedi", "Kuş", "Tavşan", "Diğer"]; const REASONS = ["Acil durum", "Genel muayene", "Aşı / Parazit", "Cerrahi / Operasyon", "Laboratuvar / Tahlil", "Bakım & Tıraş"]; function Appointment({ cfg }) { const [form, setForm] = React.useState({ name: "", phone: "", petName: "", petType: "Köpek", reason: "Genel muayene", date: "", time: "10:00", note: "", }); const [submitted, setSubmitted] = React.useState(false); const update = (k) => (e) => setForm((f) => ({ ...f, [k]: e.target.value })); const onSubmit = (e) => { e.preventDefault(); setSubmitted(true); }; const today = new Date().toISOString().split("T")[0]; if (submitted) { return (
Randevu

Randevu talebiniz alındı.

{Ico.check}
Teşekkürler {form.name || "dostum"}, görüştük sayılır.
{form.petName ? `${form.petName} için ` : ""}{form.date || "en kısa zamanda"} {form.time && `, ${form.time}`} randevunuz değerlendirmeye alındı. 15 dakika içinde sizi telefonla arayacağız.
Acil bir durumsa lütfen doğrudan arayın: {cfg.phone}
); } return (
Online Randevu

Acil değilse, randevu alın.

Rutin muayene, aşı veya bakım hizmetleri için formu doldurun. Uygunluk durumunu 15 dakika içinde telefonla bildiriyoruz.

Acil durumda form doldurmayın — doğrudan arayın.

{Ico.phone} {cfg.phone}
{PETS.map((p) => ( ))}