"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.08 } },
};
const translations = {
tr: {
navServices: "Hizmetlerimiz",
navProjects: "Referanslarımız",
navTeam: "Ekibimiz",
navReviews: "Görüşler",
navBooking: "Teklif Al",
badge: "PREMIUM LOJİSTİK OPERATÖRÜ",
heroTitlePart1: "Lojistikte",
heroTitlePart2: "Fark Yaratan",
heroTitlePart3: "Çözümler",
heroDesc: "Güvenli taşımacılık ve zamanında teslimat çözümleri. Teknoloji destekli operasyon yönetimi ve küresel tedarik zinciri entegrasyonu ile işinizi büyütüyoruz. Atlas Lojistik premium ağı.",
getQuote: "Teklif Al",
learnMore: "Referanslar",
projectsTitle: "Referanslarımız",
projectsHeader: "BİRLİKTE BÜYÜDÜĞÜMÜZ KÜRESEL MARKALAR",
teamTitle: "Ekibimiz",
teamHeader: "YÖNETİM VE OPERASYON KADROMUZ",
reviewsTitle: "Müşteri Görüşleri",
reviewsHeader: "GÜVENİLİR İŞ ORTAKLARIMIZ",
bookingTitle: "Teklif Talebi",
bookingHeader: "BİRLİKTE ÇALIŞALIM",
bookingDesc: "Tedarik zincirinizi veya lojistik operasyonunuzu optimize etmek için bilgilerinizi bırakın, uzmanlarımız özel çalışma planıyla geri dönsün.",
fieldsName: "Ad Soyad",
fieldsPhone: "Telefon Numarası",
fieldsEmail: "E-Posta Adresi",
fieldsCategory: "Hizmet Kategorisi",
fieldsDate: "Planlanan Tarih",
fieldsNotes: "Operasyon Notları / Detaylar",
fieldsNotesPlaceholder: "Yıllık sevkiyat hacmi, depo alanı veya özel taşıma ihtiyaçları...",
dispatchForm: "TEKLİF TALEBİ GÖNDER",
contactChannels: "İLETİŞİM KANALLARI",
callCenter: "Destek Hattı",
addressLabel: "Lojistik Merkezi",
emailLabel: "Kurumsal E-Posta",
footerDesc: "Tedarik zinciri yönetiminde JIT (Just-In-Time) modelleri, GDP sertifikalı soğuk zincir lojistiği ve 7/24 anlık takip güvencesi.",
privacyRegs: "Gizlilik Sözleşmesi",
termsStay: "Kullanım Şartları",
dismiss: "KAPAT",
contactTitle: "Hızlı Teklif Danışmanlığı",
contactDesc: "Lojistik gereksinimlerinizi bırakın, operasyon yöneticimiz 15 dakika içinde arasın.",
submit: "Gönder",
statExp: "Yıl Deneyim",
statClients: "Aktif Müşteri",
statCities: "Şehir Ağı",
statDelivery: "Zamanında Teslimat",
// Services Localized
serviceKarayolu: "Karayolu Taşımacılığı",
serviceKarayoluDesc: "Yurtiçi ve uluslararası karayolu ile güvenli ve hızlı komple/parsiyel taşımacılık.",
serviceDepolama: "Depolama & Lojistik",
serviceDepolamaDesc: "Modern antrepolarımızda güvenli stok yönetimi, etiketleme ve dağıtım.",
serviceEticaret: "E-ticaret Lojistiği",
serviceEticaretDesc: "Son mile teslimat, iade yönetimi ve tam entegre fulfillment çözümleri.",
serviceUlusal: "Uluslararası Nakliye",
serviceUlusalDesc: "Gümrükleme, evrak takibi dahil kapıdan kapıya uluslararası taşımacılık.",
serviceSoguk: "Soğuk Zincir Lojistiği",
serviceSogukDesc: "Gıda ve ilaç sektörü için kontrollü sıcaklıkta GDP sertifikalı taşıma.",
serviceTakip: "7/24 Anlık Takip",
serviceTakipDesc: "Yüklerinizi ve sevkiyat rotalarınızı uydu üzerinden anlık takip edin.",
// Projects Localized
projMigros: "Migros Dağıtım Ağı",
projMigrosDesc: "12 şehirde günlük 400+ perakende noktasına kesintisiz soğuk zincir dağıtım yönetimi.",
projTrendyol: "Trendyol Fulfillment",
projTrendyolDesc: "Günlük 8.000+ e-ticaret sipariş işleme, paketleme ve son mile hızlı teslimat.",
projFord: "Ford Otosan Tedarik",
projFordDesc: "JIT (Just-In-Time) metodolojisiyle otomotiv üretim fabrikasına parça tedarik zinciri lojistiği.",
projPfizer: "Pfizer İlaç Dağıtımı",
projPfizerDesc: "GDP standartlarında, tam ısı kontrollü soğuk zincir ile ilaç ve aşı lojistiği.",
},
en: {
navServices: "Our Services",
navProjects: "References",
navTeam: "Our Team",
navReviews: "Testimonials",
navBooking: "Get Quote",
badge: "PREMIUM LOGISTICS OPERATOR",
heroTitlePart1: "Logistics",
heroTitlePart2: "Redefined With",
heroTitlePart3: "Precision",
heroDesc: "Secured transportation and JIT delivery frameworks. We optimize your supply chain with modern tech tracking, integrated warehousing, and global networks. Premium Atlas logistics hub.",
getQuote: "Get Quote",
learnMore: "References",
projectsTitle: "Our Works",
projectsHeader: "GLOBAL PARTNERS WE ARE PROUD TO GROW WITH",
teamTitle: "Our Team",
teamHeader: "OUR EXECUTIVE AND OPERATIONS DIRECTORS",
reviewsTitle: "Client Reviews",
reviewsHeader: "TRUSTED BY SECTOR LEADERS",
bookingTitle: "Quote Request",
bookingHeader: "WORK WITH US",
bookingDesc: "To optimize your supply chain or schedule specialized cargo coordination, leave your credentials and our managers will draft a customized execution plan.",
fieldsName: "Full Name",
fieldsPhone: "Phone Number",
fieldsEmail: "Email Address",
fieldsCategory: "Service Category",
fieldsDate: "Target Date",
fieldsNotes: "Operations Details",
fieldsNotesPlaceholder: "Annual volume, cold storage requests, or specific cargo dimensions...",
dispatchForm: "SEND QUOTE REQUEST",
contactChannels: "CONTACT CHANNELS",
callCenter: "Support Helpline",
addressLabel: "Logistics Hub",
emailLabel: "Corporate Email",
footerDesc: "Just-In-Time (JIT) manufacturing workflows, GDP certified cold chain facilities, and 7/24 satellite tracking systems.",
privacyRegs: "Privacy Policy",
termsStay: "Terms of Service",
dismiss: "DISMISS",
contactTitle: "Quick Consultation",
contactDesc: "Outline your logistics coordinates and our transport managers will reach back in 15 minutes.",
submit: "Submit",
statExp: "Years Experience",
statClients: "Active Clients",
statCities: "City Hubs",
statDelivery: "On-Time Delivery",
// Services Localized
serviceKarayolu: "Road Transportation",
serviceKarayoluDesc: "Secured and rapid domestic/international full or partial truckload transport.",
serviceDepolama: "Warehousing & Logistics",
serviceDepolamaDesc: "Bespoke inventory management, labeling, and retail cross-docking.",
serviceEticaret: "E-Commerce Fulfillment",
serviceEticaretDesc: "Last-mile courier integration, automated return flows, and fulfillment.",
serviceUlusal: "Global Air/Ocean Cargo",
serviceUlusalDesc: "Door-to-door global shipping routes with integrated custom clearance clearance.",
serviceSoguk: "Cold Chain Transport",
serviceSogukDesc: "GDP certified multi-temp fleet specifically for food and pharmaceutical sectors.",
serviceTakip: "7/24 Satellite Tracking",
serviceTakipDesc: "Real-time satellite path tracking and automated delay coordination.",
// Projects Localized
projMigros: "Migros Retail Supply",
projMigrosDesc: "Daily cold chain distribution routing to over 400+ points across 12 cities.",
projTrendyol: "Trendyol Fulfillment Hub",
projTrendyolDesc: "Handling 8,000+ daily e-commerce order dispatches with priority last-mile courier lanes.",
projFord: "Ford Otosan JIT Tedarik",
projFordDesc: "JIT manufacturing line support, synchronizing auto parts arrival exactly within scheduled shifts.",
projPfizer: "Pfizer Cold Chain Pharma",
projPfizerDesc: "GDP certified pharmaceutical transport using automated multi-temperature thermal cargo.",
}
};
export default function KurumsalTemplate({ data }: { data: DemoData }) {
const { firma, istatistikler = [], hizmetler = [], yorumlar = [], projeler = [], ekip = [] } = data;
const [showBookingModal, setShowBookingModal] = useState(false);
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 stats label mappings
const getLocalizedStatLabel = (etiket: string) => {
if (etiket.includes("Deneyim")) return t.statExp;
if (etiket.includes("Müşteri")) return t.statClients;
if (etiket.includes("Şehir")) return t.statCities;
return t.statDelivery;
};
// Localized services text mappings
const getLocalizedServiceText = (baslik: string) => {
if (baslik.includes("Karayolu")) return { title: t.serviceKarayolu, desc: t.serviceKarayoluDesc };
if (baslik.includes("Depolama")) return { title: t.serviceDepolama, desc: t.serviceDepolamaDesc };
if (baslik.includes("E-ticaret")) return { title: t.serviceEticaret, desc: t.serviceEticaretDesc };
if (baslik.includes("Uluslararası")) return { title: t.serviceUlusal, desc: t.serviceUlusalDesc };
if (baslik.includes("Soğuk")) return { title: t.serviceSoguk, desc: t.serviceSogukDesc };
return { title: t.serviceTakip, desc: t.serviceTakipDesc };
};
// Localized projects text mappings
const getLocalizedProjectText = (baslik: string) => {
if (baslik.includes("Migros")) return { title: t.projMigros, desc: t.projMigrosDesc, sector: lang === "tr" ? "Perakende" : "Retail" };
if (baslik.includes("Trendyol")) return { title: t.projTrendyol, desc: t.projTrendyolDesc, sector: lang === "tr" ? "E-Ticaret" : "E-Commerce" };
if (baslik.includes("Ford")) return { title: t.projFord, desc: t.projFordDesc, sector: lang === "tr" ? "Otomotiv" : "Automotive" };
return { title: t.projPfizer, desc: t.projPfizerDesc, sector: lang === "tr" ? "İlaç" : "Pharmaceutical" };
};
// Custom vector icons for services (No generic emojis)
const getServiceIconSvg = (baslik: string) => {
if (baslik.includes("Karayolu")) {
return (
);
}
if (baslik.includes("Depolama")) {
return (
);
}
if (baslik.includes("E-ticaret")) {
return (
);
}
if (baslik.includes("Uluslararası")) {
return (
);
}
if (baslik.includes("Soğuk")) {
return (
);
}
return (
);
};
const getLocalizedTeam = (ad: string) => {
if (ad.includes("Murat")) return { name: "Murat Yıldız", role: lang === "tr" ? "Genel Müdür" : "Managing Director" };
if (ad.includes("Hande")) return { name: "Hande Çelik", role: lang === "tr" ? "Operasyon Direktörü" : "Operations Director" };
if (ad.includes("Serkan")) return { name: "Serkan Aydın", role: lang === "tr" ? "Teknoloji Müdürü" : "Technology Director" };
return { name: "Neslihan Kara", role: lang === "tr" ? "Müşteri Deneyimi Yöneticisi" : "Customer Success Lead" };
};
const css = `
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
:root {
--color-kurumsal-indigo: #6366f1;
--color-kurumsal-indigo-dark: #4f46e5;
--color-kurumsal-indigo-light: #eef2ff;
--color-kurumsal-charcoal: #0F172A;
--color-kurumsal-sand: #FAF8F5;
}
.font-heavy-sans {
font-family: 'Inter', sans-serif;
font-weight: 900;
}
.font-sans-clean {
font-family: 'Inter', sans-serif;
}
.shadow-premium {
box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
}
.hero-title-clamp {
font-size: clamp(38px, 6vw, 90px);
letter-spacing: -0.03em;
line-height: 0.95;
}
`;
return (
<>
{/* ── IMZA AN: CURTAIN REVEAL PRELOADER ── */}
{getLocalizedStatLabel(stat.etiket)}
{s.desc}
{s.desc}
{proj.desc}
{member.role}
“{y.yorum}”
{y.yazar.split("—")[0]}
{y.yazar.split("—")[1] || t.reviewsTitle}
{item.baslik}
{item.aciklama}
{t.contactDesc}