// Sections function Hero({ c }) { return ( {c.heroEyebrow} {c.heroTitle[0]} {c.heroTitle[1]} {c.heroTitle[2]} {c.heroSub} { e.preventDefault(); const el = document.getElementById("contact"); if (el) window.scrollTo({ top: el.offsetTop - 64, behavior: "smooth" }); }}>{c.heroPrimary} { e.preventDefault(); const el = document.getElementById("services"); if (el) window.scrollTo({ top: el.offsetTop - 64, behavior: "smooth" }); }}>{c.heroSecondary} {c.heroStats.map((s, i) => ( {s.num.includes("+") ? <>{s.num.replace("+","")}+> : s.num} {s.label} ))} ZA20JERT · EKLEMLİ MANLIFT ZOOMLION 22 m 15 m 8 m 0 ZA20JERT · EKLEMLİ maks. yükseklik22 m platform kapasitesi300 kg tırmanma kabiliyeti%30 eğim toplam ağırlık10.200 kg durum● müsait ); } function Services({ c }) { return ( {c.servicesLabel} {c.servicesTitle} {c.servicesDesc} {c.services.map(s => ( → {s.tag} {s.title} {s.desc} {s.specs.map((sp, i) => ( {sp[0]} {sp[1]} ))} ))} ); } function Fleet({ c }) { return ( {c.fleetLabel} {c.fleetTitle} {c.fleetDesc} {c.fleet.map((f, i) => ( {f.big}{f.sup} {f.title} {f.desc} ))} ); } function About({ c }) { return ( {c.aboutLabel} {c.aboutTitle} {c.aboutLead} {c.aboutBody.map((p, i) => {p})} {c.timeline.map((t, i) => ( {t.year} {t.what} {t.sub} ))} ); } function Coverage({ c, lang }) { const [filter, setFilter] = useState("all"); const [hovered, setHovered] = useState(null); const [selected, setSelected] = useState({ kind: "hq", data: { name: "İvedik OSB", province: "Ankara", note: "Merkez" } }); const zone1 = GEO.ankara.filter(d => d.zone === 1); const zone2 = GEO.ankara.filter(d => d.zone === 2); const totalTowns = GEO.provinces.reduce((a, p) => a + p.towns.length, 0); const filters = [ { k: "all", label: lang === "tr" ? "TÜMÜ" : "ALL", count: GEO.ankara.length + totalTowns + 1 }, { k: "ankara", label: "ANKARA", count: GEO.ankara.length }, { k: "provinces", label: lang === "tr" ? "İLLER" : "CITIES", count: GEO.provinces.length }, ...GEO.provinces.map(p => ({ k: p.key, label: p.name, count: p.towns.length })), ]; const active = hovered || selected; const detailInfo = (() => { if (!active) return null; if (active.kind === "hq") return { label: lang === "tr" ? "MERKEZ" : "HQ", title: "İvedik OSB", sub: "Yenimahalle / Ankara", rows: [["Teslimat", "Aynı gün"], ["Mesafe", "0 km"], ["ETA", "—"]] }; if (active.kind === "ankara") { const d = active.data; const eta = d.zone === 1 ? "1–4 saat" : "4–8 saat"; return { label: lang === "tr" ? "ANKARA · İLÇE" : "ANKARA · DISTRICT", title: d.name, sub: d.zone === 1 ? (lang==="tr"?"Merkez bölge":"Metropolitan") : (lang==="tr"?"Kırsal bölge":"Outer zone"), rows: [["Teslimat", lang==="tr"?"Aynı gün":"Same day"], ["ETA", eta], ["Bölge", "Zone " + d.zone]] }; } if (active.kind === "province") { const p = active.data; return { label: lang === "tr" ? "İL MERKEZİ" : "PROVINCE HUB", title: p.name, sub: (lang==="tr"?"Nokta":"Points") + ": " + p.towns.length, rows: [["Teslimat", "24 saat"], ["Nakliye", lang==="tr"?"Kendi filo":"Own fleet"], ["Destek", "7/24"]] }; } if (active.kind === "town") { const t = active.data; return { label: t.province + (lang === "tr" ? " · İLÇE" : " · TOWN"), title: t.name, sub: lang==="tr"?"Yerel ekip":"Local crew", rows: [["Teslimat", "24 saat"], ["ETA", "8–18 saat"], ["Destek", "7/24"]] }; } return null; })(); return ( {c.coverageLabel} {c.coverageTitle} {c.coverageDesc} {filters.map(f => ( { setFilter(f.k); setSelected(null); }}> {f.label}{f.count} ))} {GEO.provinces.slice(0,6).concat([{ key: "_anka", name: "Ankara (25 ilçe)", hub: {}, towns: GEO.ankara }]).length && null} {[ { n: "00", name: "Ankara", primary: true, key: "ankara", sub: GEO.ankara.length + (lang==="tr"?" ilçe":" districts") }, ...GEO.provinces.map((p, i) => ({ n: String(i+1).padStart(2, "0"), name: p.name.charAt(0) + p.name.slice(1).toLowerCase(), key: p.key, sub: p.towns.length + (lang==="tr"?" nokta":" points") })), ].map(city => ( setFilter(city.key)} style={{ cursor: "pointer" }}> {city.n} {city.name} {city.sub} → ))} {GEO.ankara.length}{lang==="tr"?"Ankara ilçe":"Ankara districts"} {GEO.provinces.length}{lang==="tr"?"Komşu il":"Provinces"} {totalTowns}+{lang==="tr"?"Teslimat noktası":"Drop points"} 24h{lang==="tr"?"Maks. süre":"Max ETA"} [ TESLİMAT HARİTASI · {filter === "all" ? "İÇ ANADOLU" : filter.toUpperCase()} ] HQ · İvedik OSB {lang==="tr"?"Ankara ilçe":"Ankara district"} {lang==="tr"?"İl / ilçe":"Province / town"} {lang==="tr"?"Teslimat yarıçapı":"Delivery radius"} {detailInfo && ( ◉ {detailInfo.label} {detailInfo.title} {detailInfo.sub} {detailInfo.rows.map((r, i) => ( {r[0]}{r[1]} ))} )} HQ · 39.98° N · 32.74° E {lang==="tr"?"FARENİ NOKTALARIN ÜZERİNE GETİR":"HOVER POINTS FOR DETAIL"} {zone1.map((d, i) => ( { setFilter("ankara"); setSelected({ kind: "ankara", idx: GEO.ankara.indexOf(d), data: d }); }}> {d.name} ))} {zone2.map((d, i) => ( { setFilter("ankara"); setSelected({ kind: "ankara", idx: GEO.ankara.indexOf(d), data: d }); }}> {d.name} ))} ); } function FAQ({ c }) { const [open, setOpen] = useState(0); return ( {c.faqLabel} {c.faqTitle} {c.faqDesc} {c.faqs.map((f, i) => ( setOpen(open === i ? -1 : i)}> 0{i+1} {f.q} + {f.a} ))} ); } function Blog({ c }) { return ( {c.blogLabel} {c.blogTitle} {c.blogDesc} {c.posts.map((p, i) => ( {p.tag} · {p.date} {p.title} ))} ); } function Contact({ c, lang }) { return ( {c.contactLabel} {c.contactTitle} {c.contactDesc} {lang === "tr" ? "Merkez" : "Headquarters"} {c.contactInfo.address} {lang === "tr" ? "Telefon (7/24)" : "Phone (24/7)"} {c.contactInfo.phone} E-mail {c.contactInfo.email} {lang === "tr" ? "Çalışma Saatleri" : "Hours"} {c.contactInfo.hours} {lang === "tr" ? "Hızlı Erişim" : "Quick Access"} WhatsApp {lang === "tr" ? "Telefon" : "Call"} E-mail ); } function BigCTA({ c, lang }) { return ( {c.bigCta[0]} {c.bigCta[1]} {lang === "tr" ? "ACİL HAT · 7/24" : "URGENT LINE · 24/7"} {c.ctaHours} {c.ctaPhone} WhatsApp ); } function Footer({ c, lang }) { const links = { services: lang === "tr" ? ["Makaslı","Eklemli","Teleskopik","Sepetli","Forklift"] : ["Scissor","Articulating","Telescopic","Truck-Mnt","Forklift"], company: lang === "tr" ? ["Hakkımızda","Filo","Referanslar","Kariyer","Blog"] : ["About","Fleet","References","Careers","Blog"], support: lang === "tr" ? ["SSS","Teklif al","İletişim","Teknik servis"] : ["FAQ","Get quote","Contact","Service"], legal: lang === "tr" ? ["KVKK","Çerez politikası","Sözleşme"] : ["Privacy","Cookies","Terms"], }; return ( ); } Object.assign(window, { Hero, Services, Fleet, About, Coverage, FAQ, Blog, Contact, BigCTA, Footer });
{c.heroSub}
{c.servicesDesc}
{c.fleetDesc}
{c.aboutLead}
{p}
{c.coverageDesc}
{c.faqDesc}
{c.blogDesc}
{c.contactDesc}