Compare commits

..

4 Commits

Author SHA1 Message Date
be94aa5155 b 2026-04-17 10:09:09 +03:00
8bf5aede83 b 2026-04-16 21:18:09 +03:00
0efef41f5d feat: integrate Cloudinary, add new fleet items and image gallery 2026-04-16 20:52:12 +03:00
bac925b5bc b 2026-04-16 01:36:18 +03:00
160 changed files with 764 additions and 96 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -7,13 +7,15 @@ import Image from "next/image";
import { Metadata } from "next"; import { Metadata } from "next";
import { FLEET_ITEMS } from "@/lib/data"; import { FLEET_ITEMS } from "@/lib/data";
import { FleetList } from "@/components/FleetList"; import { FleetList } from "@/components/FleetList";
import { FleetGallery } from "@/components/FleetGallery";
import { ALL_CLOUDINARY_IMAGES } from "@/lib/gallery_data";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Geniş Vinç Filosu ve İş Makineleri Parkurumuz", title: "Vinç Filosu ve İş Makinelerimiz | Dalaman Muğla",
description: "300 tondan 500 tona kadar mobil vinçler, sepetli platformlar ve hiyap vinçlerden oluşan modern araç filomuzla hizmetinizdeyiz.", description: "Mobil vinçler, sepetli platformlar ve hiyap vinçlerden oluşan geniş araç parkurumuz hakkında detaylı bilgi alın. Her tonajda profesyonel çözüm.",
}; };
const FLEET_CATEGORIES = ["Hepsi", "Mobil Vinç", "Sepetli Platform", "Hiyap", "Kule Vinç"]; const FLEET_CATEGORIES = ["Hepsi", "Mobil Vinç", "Sepetli Platform", "Hiyap", "Forklift", "Nakliyat", "İş Makinesi"];
export default function FleetPage() { export default function FleetPage() {
return ( return (
@@ -47,6 +49,8 @@ export default function FleetPage() {
<FleetList items={FLEET_ITEMS} categories={FLEET_CATEGORIES} /> <FleetList items={FLEET_ITEMS} categories={FLEET_CATEGORIES} />
<FleetGallery images={ALL_CLOUDINARY_IMAGES} />
<LoadMeterSection /> <LoadMeterSection />
<CTASection /> <CTASection />
<Footer /> <Footer />

View File

@@ -7,8 +7,8 @@ import { Shield, Zap, Target, Users, Rocket, Eye } from "lucide-react";
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Hakkımızda | Aydoğan Nakliyat Vinç Kurumsal", title: "Kurumsal & Hakkımızda | Aydoğan Nakliyat Vinç Dalaman",
description: "20 yılı aşkın tecrübemizle Dalaman ve Muğla bölgesinin lider vinç ve nakliyat firmasıyız. Vizyonumuz, misyonumuz ve profesyonel ekibimiz hakkında bilgi alın.", description: "20 yılı aşkın tecrübeyle Dalaman ve Muğla bölgesinin lider vinç firması. Güvenlik, hız ve hassasiyet odaklıır nakliyat çözümlerimiz hakkında bilgi alın.",
}; };
const VALUES = [ const VALUES = [
@@ -38,7 +38,7 @@ const STATS = [
{ label: "Yıllık Tecrübe", value: "20+" }, { label: "Yıllık Tecrübe", value: "20+" },
{ label: "Tamamlanan Proje", value: "1500+" }, { label: "Tamamlanan Proje", value: "1500+" },
{ label: "Modern Araç Filosu", value: "25+" }, { label: "Modern Araç Filosu", value: "25+" },
{ label: "Maksimum Kapasite", value: "500t" } { label: "Maksimum Kapasite", value: "SINIRSIZ" }
]; ];
export default function AboutPage() { export default function AboutPage() {

14
app/hizmetler/layout.tsx Normal file
View File

@@ -0,0 +1,14 @@
import { Metadata } from "next";
export const metadata: Metadata = {
title: "Profesyonel Vinç ve Nakliyat Hizmetlerimiz | Dalaman Muğla",
description: "Mobil vinç, sepetli platform, konteyner taşıma, tekne kaldırma ve ağır nakliyat hizmetlerimizi inceleyin. 7/24 profesyonel çözümler.",
};
export default function ServicesLayout({
children,
}: {
children: React.ReactNode;
}) {
return <>{children}</>;
}

View File

@@ -31,7 +31,7 @@ const FEATURES = [
]; ];
const STATS = [ const STATS = [
{ label: "Max Kapasite", value: "500T", highlighted: true }, { label: "Max Kapasite", value: "HER TONAJ", highlighted: true },
{ label: "Yıllık Deneyim", value: "15+", highlighted: false }, { label: "Yıllık Deneyim", value: "15+", highlighted: false },
{ label: "İş Güvenliği", value: "100%", highlighted: false }, { label: "İş Güvenliği", value: "100%", highlighted: false },
{ label: "Aktif Operasyon", value: "24/7", highlighted: true } { label: "Aktif Operasyon", value: "24/7", highlighted: true }
@@ -100,7 +100,7 @@ export default function ServicesPage() {
onClick={() => handleWhatsApp(service.title)} onClick={() => handleWhatsApp(service.title)}
className="flex items-center gap-4 bg-primary text-on-primary px-8 py-4 font-headline font-bold uppercase hover:brightness-110 transition-all group" className="flex items-center gap-4 bg-primary text-on-primary px-8 py-4 font-headline font-bold uppercase hover:brightness-110 transition-all group"
> >
Teklif Al WhatsApp ile Teklif Al
<ArrowRight className="w-5 h-5 group-hover:translate-x-2 transition-transform" /> <ArrowRight className="w-5 h-5 group-hover:translate-x-2 transition-transform" />
</button> </button>
</div> </div>

View File

@@ -4,10 +4,11 @@ import { FloatingWhatsApp } from "@/components/FloatingWhatsApp";
import Image from "next/image"; import Image from "next/image";
import { MapPin, Phone, Mail, ArrowRight, Navigation } from "lucide-react"; import { MapPin, Phone, Mail, ArrowRight, Navigation } from "lucide-react";
import { Metadata } from "next"; import { Metadata } from "next";
import { siteConfig } from "@/lib/data";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "İletişim | Dalaman, Muğla Vinç ve Nakliyat", title: `İletişim | ${siteConfig.name}`,
description: "Aydoğan Nakliyat operasyon merkezine ulaşın. Dalaman Sanayi Sitesi'nde 7/24 hizmet veriyoruz. Teklif almak için bizi arayın.", description: siteConfig.description,
}; };
export default function ContactPage() { export default function ContactPage() {
@@ -35,7 +36,7 @@ export default function ContactPage() {
</div> </div>
</section> </section>
{/* Main Content: Contact Details Only */} {/* Main Content: Contact Details */}
<div className="bg-outline-variant/5 py-24 px-8 md:px-16"> <div className="bg-outline-variant/5 py-24 px-8 md:px-16">
<div className="max-w-5xl mx-auto"> <div className="max-w-5xl mx-auto">
<section className="bg-surface-container p-12 lg:p-24 flex flex-col md:flex-row gap-16 items-center border border-outline-variant/10 shadow-xl"> <section className="bg-surface-container p-12 lg:p-24 flex flex-col md:flex-row gap-16 items-center border border-outline-variant/10 shadow-xl">
@@ -50,7 +51,7 @@ export default function ContactPage() {
<div> <div>
<p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">Adres</p> <p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">Adres</p>
<p className="text-xl font-medium text-on-surface leading-snug"> <p className="text-xl font-medium text-on-surface leading-snug">
Merkez Mah. Sanayi Sitesi No: 42<br/>Dalaman / Muğla {siteConfig.contact.address}
</p> </p>
</div> </div>
</div> </div>
@@ -60,9 +61,9 @@ export default function ContactPage() {
<Phone className="w-8 h-8" /> <Phone className="w-8 h-8" />
</div> </div>
<div> <div>
<p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">Telefon</p> <p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">Telefon & WhatsApp</p>
<p className="text-3xl font-black text-on-surface tracking-tighter"> <p className="text-3xl font-black text-on-surface tracking-tighter">
+90 252 692 00 00 {siteConfig.contact.phone}
</p> </p>
</div> </div>
</div> </div>
@@ -74,7 +75,7 @@ export default function ContactPage() {
<div> <div>
<p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">E-Posta</p> <p className="text-[10px] uppercase tracking-[0.3em] text-on-surface-variant mb-1 font-bold">E-Posta</p>
<p className="text-xl font-medium text-on-surface"> <p className="text-xl font-medium text-on-surface">
info@aydogannakliyat.com {siteConfig.contact.email}
</p> </p>
</div> </div>
</div> </div>
@@ -126,7 +127,7 @@ export default function ContactPage() {
</p> </p>
<a <a
className="text-primary font-bold uppercase tracking-widest text-xs flex items-center gap-2 hover:gap-4 transition-all" className="text-primary font-bold uppercase tracking-widest text-xs flex items-center gap-2 hover:gap-4 transition-all"
href="https://maps.google.com" href={siteConfig.contact.maps}
target="_blank" target="_blank"
> >
Yol Tarifi Al <ArrowRight className="w-4 h-4" /> Yol Tarifi Al <ArrowRight className="w-4 h-4" />

View File

@@ -14,24 +14,40 @@ const inter = Inter({
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
metadataBase: new URL("https://aydogannakliyatvinc.com"), // Gerçek domain ile değiştirilmeli metadataBase: new URL("https://aydogannakliyatvinc.com"),
title: { title: {
default: "Aydoğan Nakliyat Vinç | Dalaman, Muğla, Ege Bölgesi", default: "Aydoğan Nakliyat Vinç | Dalaman, Muğla Vinç Kiralama & Ağır Nakliyat",
template: "%s | Aydoğan Nakliyat Vinç" template: "%s | Aydoğan Nakliyat Vinç"
}, },
description: "Muğla Dalaman merkezli profesyonel vinç kiralama ve ağır nakliyat hizmetleri. 7/24 tekne taşıma, konteyner nakliyesi ve tüm Türkiye geneli ağır yük çözümleri.", description: "Muğla Dalaman merkezli profesyonel vinç kiralama, sepetli platform ve ağır nakliyat hizmetleri. 7/24 tekne taşıma, tiny house nakliyesi ve konteyner kaldırma çözümleri.",
keywords: ["vinç kiralama", "nakliyat", "muğla vinç", "dalaman vinç", "ağır nakliyat", "tekne taşıma", "konteyner taşıma", "ege bölgesi vinç", "türkiye geneli nakliyat"], keywords: [
authors: [{ name: "Aydoğan Nakliyat" }], "vinç kiralama",
creator: "Aydoğan Nakliyat", "dalaman vinç",
publisher: "Aydoğan Nakliyat", "muğla vinç",
"ağır nakliyat",
"sepetli platform kiralama",
"hiyap vinç",
"tekne taşıma",
"konteyner nakliyesi",
"tiny house taşıma",
"sandiviç panel indirme",
"jet ground kaldırma",
"dalaman nakliyat",
"fethiye vinç kiralama",
"ortaca vinç kiralama",
"köyceğiz vinç kiralama"
],
authors: [{ name: "Aydoğan Nakliyat Vinç" }],
creator: "Aydoğan Nakliyat Vinç",
publisher: "Aydoğan Nakliyat Vinç",
formatDetection: { formatDetection: {
email: false, email: false,
address: true, address: true,
telephone: true, telephone: true,
}, },
openGraph: { openGraph: {
title: "Aydoğan Nakliyat Vinç | Dalaman, Muğla, Ege Bölgesi", title: "Aydoğan Nakliyat Vinç | Dalaman, Muğla Vinç Kiralama & Ağır Nakliyat",
description: "Profesyonel vinç kiralama ve ağır nakliyat hizmetleri. 7/24 güvenilir çözümler.", description: "7/24 profesyonel vinç kiralama ve ağır nakliyat çözümleri. Dalaman, Muğla ve tüm Ege bölgesi.",
url: "https://aydogannakliyatvinc.com", url: "https://aydogannakliyatvinc.com",
siteName: "Aydoğan Nakliyat Vinç", siteName: "Aydoğan Nakliyat Vinç",
locale: "tr_TR", locale: "tr_TR",
@@ -39,7 +55,7 @@ export const metadata: Metadata = {
}, },
twitter: { twitter: {
card: "summary_large_image", card: "summary_large_image",
title: "Aydoğan Nakliyat Vinç | Dalaman, Muğla, Ege Bölgesi", title: "Aydoğan Nakliyat Vinç | Dalaman, Muğla Vinç Kiralama & Ağır Nakliyat",
description: "Profesyonel vinç kiralama ve ağır nakliyat hizmetleri.", description: "Profesyonel vinç kiralama ve ağır nakliyat hizmetleri.",
}, },
robots: { robots: {

View File

@@ -10,8 +10,8 @@ import { FloatingWhatsApp } from "@/components/FloatingWhatsApp";
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Aydoğan Nakliyat Vinç | Dalaman, Muğla Vinç Kiralama", title: "Aydoğan Nakliyat Vinç | Dalaman Muğla Vinç Kiralama & Ağır Nakliyat",
description: "Dalaman ve Muğla genelinde 7/24 vinç kiralama, ağır nakliyat, tekne taşıma ve konteyner nakliyesi. Güçlü filo, uzman kadro ve uygun fiyatlı çözümler.", description: "Dalaman ve Muğla genelinde 7/24 profesyonel vinç kiralama, ağır nakliyat, tekne ve tiny house taşıma hizmetleri. Güçlü filo ve uzman kadro.",
}; };
export default function Home() { export default function Home() {

View File

@@ -54,7 +54,7 @@ export function CTASection() {
onClick={handleWhatsApp} onClick={handleWhatsApp}
className="bg-primary text-on-primary font-headline font-black uppercase tracking-widest px-12 py-6 text-xl hover:brightness-110 active:scale-95 transition-all rounded-none shadow-[10px_10px_0px_0px_rgba(0,0,0,0.5)] active:shadow-none whitespace-nowrap flex items-center justify-center gap-4 group" className="bg-primary text-on-primary font-headline font-black uppercase tracking-widest px-12 py-6 text-xl hover:brightness-110 active:scale-95 transition-all rounded-none shadow-[10px_10px_0px_0px_rgba(0,0,0,0.5)] active:shadow-none whitespace-nowrap flex items-center justify-center gap-4 group"
> >
ŞİMDİ TEKLİF ALIN WHATSAPP'TAN TEKLİF ALIN
<MessageCircle className="w-6 h-6 group-hover:rotate-12 transition-transform" /> <MessageCircle className="w-6 h-6 group-hover:rotate-12 transition-transform" />
</button> </button>
<p className="text-center font-label text-[10px] uppercase tracking-widest text-on-surface-variant font-bold"> <p className="text-center font-label text-[10px] uppercase tracking-widest text-on-surface-variant font-bold">

140
components/FleetGallery.tsx Normal file
View File

@@ -0,0 +1,140 @@
"use client";
import { useState } from "react";
import Image from "next/image";
import { motion, AnimatePresence } from "framer-motion";
import { X, ChevronLeft, ChevronRight } from "lucide-react";
interface FleetGalleryProps {
images: string[];
}
export function FleetGallery({ images }: FleetGalleryProps) {
const [selectedImage, setSelectedImage] = useState<number | null>(null);
const nextImage = () => {
if (selectedImage !== null) {
setSelectedImage((selectedImage + 1) % images.length);
}
};
const prevImage = () => {
if (selectedImage !== null) {
setSelectedImage((selectedImage - 1 + images.length) % images.length);
}
};
return (
<section className="py-24 bg-background px-6 md:px-12">
<div className="max-w-7xl mx-auto">
<motion.div
initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
className="mb-12"
>
<span className="text-primary font-headline font-bold text-xs tracking-[0.3em] uppercase mb-2 block">
SAHADAN KARELER
</span>
<h2 className="text-4xl md:text-5xl font-black text-on-surface uppercase tracking-tighter leading-none">
FİLOMUZ <span className="text-primary">AKSİYONDA</span>
</h2>
</motion.div>
<div className="grid grid-cols-2 md:grid-cols-4 gap-4">
{images.map((src, index) => (
<motion.div
key={src}
initial={{ opacity: 0, scale: 0.9 }}
whileInView={{ opacity: 1, scale: 1 }}
viewport={{ once: true }}
transition={{ delay: index * 0.1 }}
whileHover={{ scale: 0.98 }}
className="relative aspect-square cursor-pointer overflow-hidden group bg-surface-container-low"
onClick={() => setSelectedImage(index)}
>
<Image
src={src}
alt={`Fleet image ${index + 1}`}
fill
sizes="(max-width: 768px) 50vw, 25vw"
className="object-cover transition-transform duration-500 group-hover:scale-110 grayscale group-hover:grayscale-0"
/>
<div className="absolute inset-0 bg-primary/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center">
<div className="w-12 h-12 rounded-full bg-white/10 backdrop-blur-md flex items-center justify-center border border-white/20">
<div className="w-1 h-4 bg-white rounded-full"></div>
<div className="w-4 h-1 bg-white rounded-full absolute"></div>
</div>
</div>
</motion.div>
))}
</div>
</div>
<AnimatePresence>
{selectedImage !== null && (
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
className="fixed inset-0 z-[100] flex items-center justify-center bg-black/95 backdrop-blur-sm p-4 md:p-12"
onClick={() => setSelectedImage(null)}
>
<motion.button
initial={{ opacity: 0, scale: 0.5 }}
animate={{ opacity: 1, scale: 1 }}
className="absolute top-8 right-8 text-white hover:text-primary transition-colors z-[110]"
onClick={(e) => {
e.stopPropagation();
setSelectedImage(null);
}}
>
<X size={40} strokeWidth={1} />
</motion.button>
<button
className="absolute left-4 md:left-8 text-white hover:text-primary transition-colors z-[110]"
onClick={(e) => {
e.stopPropagation();
prevImage();
}}
>
<ChevronLeft size={60} strokeWidth={1} />
</button>
<button
className="absolute right-4 md:right-8 text-white hover:text-primary transition-colors z-[110]"
onClick={(e) => {
e.stopPropagation();
nextImage();
}}
>
<ChevronRight size={60} strokeWidth={1} />
</button>
<motion.div
layoutId={images[selectedImage]}
className="relative w-full h-full flex items-center justify-center"
onClick={(e) => e.stopPropagation()}
>
<div className="relative w-full h-full max-w-5xl max-h-[80vh]">
<Image
src={images[selectedImage]}
alt="Full size fleet image"
fill
className="object-contain"
sizes="100vw"
priority
/>
</div>
</motion.div>
<div className="absolute bottom-10 left-1/2 -translate-x-1/2 text-white/50 font-label text-xs tracking-widest uppercase">
{selectedImage + 1} / {images.length}
</div>
</motion.div>
)}
</AnimatePresence>
</section>
);
}

View File

@@ -1,24 +1,72 @@
"use client"; "use client";
import { MessageCircle } from "lucide-react"; import { MessageCircle } from "lucide-react";
import { motion } from "framer-motion"; import { motion, AnimatePresence } from "framer-motion";
import { siteConfig } from "@/lib/data";
import { useState, useEffect } from "react";
export function FloatingWhatsApp() { export function FloatingWhatsApp() {
const [isVisible, setIsVisible] = useState(false);
useEffect(() => {
const timer = setTimeout(() => setIsVisible(true), 1000);
return () => clearTimeout(timer);
}, []);
return ( return (
<div className="fixed bottom-6 right-6 md:bottom-10 md:right-10 z-[110]"> <AnimatePresence>
<motion.a {isVisible && (
href="https://wa.me/905XXXXXXXXX" <motion.div
target="_blank" initial={{ opacity: 0, scale: 0.8, y: 20 }}
rel="noopener noreferrer" animate={{ opacity: 1, scale: 1, y: 0 }}
whileHover={{ x: -4, y: -4 }} exit={{ opacity: 0, scale: 0.8, y: 20 }}
whileTap={{ scale: 0.95 }} className="fixed bottom-6 right-6 md:bottom-10 md:right-10 z-[110]"
className="bg-[#25D366] text-white w-14 h-14 md:w-20 md:h-20 flex items-center justify-center shadow-[10px_10px_0px_0px_rgba(0,0,0,0.5)] hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,0.5)] transition-all rounded-none relative group" >
> {/* Main Container with Glassmorphism */}
<MessageCircle size={32} fill="currentColor" className="text-white md:scale-125" /> <motion.a
<span className="absolute right-full mr-4 bg-surface-container-highest text-white px-4 py-2 text-[10px] uppercase tracking-widest font-black opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none"> href={`https://wa.me/${siteConfig.contact.whatsapp}`}
Hemen Whatsapp'tan Yazın target="_blank"
</span> rel="noopener noreferrer"
</motion.a> className="relative flex items-center group no-underline"
</div> whileHover="hover"
>
{/* Expanded Label on Hover */}
<motion.div
variants={{
initial: { width: 64, opacity: 0 },
hover: { width: "auto", opacity: 1 }
}}
transition={{ type: "spring", damping: 20, stiffness: 200 }}
className="absolute right-0 flex items-center bg-white/10 backdrop-blur-xl border border-white/20 rounded-full pr-20 pl-6 py-4 overflow-hidden pointer-events-none shadow-2xl"
>
<div className="flex flex-col">
<span className="text-white text-[10px] font-black uppercase tracking-widest whitespace-nowrap">Hemen Yazın</span>
<span className="text-primary text-[12px] font-bold whitespace-nowrap">+90 537 720 09 90</span>
</div>
</motion.div>
{/* Icon Button */}
<div className="relative z-10 w-16 h-16 md:w-20 md:h-20">
{/* Outer Glows */}
<div className="absolute inset-0 bg-[#25D366] rounded-full blur-xl opacity-40 group-hover:opacity-70 transition-opacity animate-pulse" />
{/* Main Button Body */}
<div className="absolute inset-0 bg-gradient-to-tr from-[#128C7E] to-[#25D366] rounded-full flex items-center justify-center border-4 border-white/20 shadow-2xl group-hover:scale-110 transition-transform duration-500 overflow-hidden">
<MessageCircle size={32} fill="white" className="text-white md:scale-125 group-hover:rotate-[360deg] transition-transform duration-700" />
{/* Internal Reflection */}
<div className="absolute top-0 left-0 w-full h-1/2 bg-white/20 rounded-t-full" />
</div>
{/* Ping Indicator */}
<div className="absolute -top-1 -right-1 flex">
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-[#25D366] opacity-75"></span>
<span className="relative inline-flex rounded-full h-4 w-4 bg-[#25D366] border-2 border-white"></span>
</div>
</div>
</motion.a>
</motion.div>
)}
</AnimatePresence>
); );
} }

View File

@@ -12,10 +12,11 @@ const QUICK_LINKS = [
]; ];
const SERVICES = [ const SERVICES = [
{ name: "Mobil Vinç Kiralama", href: "/hizmetler" }, { name: "Sandiviç Panel Kaldırma", href: "/hizmetler" },
{ name: "Konteyner Nakliyesi", href: "/hizmetler" },
{ name: "Vinç Hizmetleri", href: "/hizmetler" },
{ name: "Sepetli Platform", href: "/hizmetler" }, { name: "Sepetli Platform", href: "/hizmetler" },
{ name: "ır Nakliyat", href: "/hizmetler" }, { name: "Tekne ve Yat Kaldırma", href: "/hizmetler" },
{ name: "Proje Taşımacılığı", href: "/hizmetler" },
]; ];
export function Footer() { export function Footer() {
@@ -108,9 +109,16 @@ export function Footer() {
<p className="text-on-surface-variant text-[10px] uppercase tracking-widest font-bold"> <p className="text-on-surface-variant text-[10px] uppercase tracking-widest font-bold">
© {new Date().getFullYear()} {siteConfig.name}. Tüm hakları saklıdır. © {new Date().getFullYear()} {siteConfig.name}. Tüm hakları saklıdır.
</p> </p>
<div className="flex gap-8">
<a href="#" className="text-on-surface-variant hover:text-white text-[10px] uppercase tracking-widest font-bold transition-colors">KVKK Aydınlatma Metni</a> <div className="flex items-center gap-2">
<a href="#" className="text-on-surface-variant hover:text-white text-[10px] uppercase tracking-widest font-bold transition-colors">Gizlilik Politikası</a> <span className="text-on-surface-variant text-[8px] uppercase tracking-[0.3em] opacity-40">Created By</span>
<a
href="https://ayris.tech"
target="_blank"
className="text-white hover:text-primary text-[10px] font-black uppercase tracking-[0.4em] transition-all"
>
AYRISTECH
</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -5,6 +5,7 @@ import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
import { ArrowRight, Phone, MessageCircle } from "lucide-react"; import { ArrowRight, Phone, MessageCircle } from "lucide-react";
import { siteConfig } from "@/lib/data"; import { siteConfig } from "@/lib/data";
import { cloudinaryUrl } from "@/lib/cloudinary";
export function Hero() { export function Hero() {
const handleWhatsApp = () => { const handleWhatsApp = () => {
@@ -18,7 +19,7 @@ export function Hero() {
<div className="absolute inset-0 z-0"> <div className="absolute inset-0 z-0">
<div className="absolute inset-0 bg-background/40 backdrop-blur-sm z-10" /> <div className="absolute inset-0 bg-background/40 backdrop-blur-sm z-10" />
<Image <Image
src="https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop" src={cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png")}
alt="Industrial crane" alt="Industrial crane"
fill fill
priority priority
@@ -45,7 +46,7 @@ export function Hero() {
<span className="text-primary">VİNÇ</span> <span className="text-primary">VİNÇ</span>
</h1> </h1>
<p className="font-body text-lg md:text-2xl text-on-surface-variant max-w-2xl mb-12 leading-relaxed"> <p className="font-body text-lg md:text-2xl text-on-surface-variant max-w-2xl mb-12 leading-relaxed">
Muğla Dalaman merkezli, 500 tona kadar kaldırma kapasitesi ve uzman mühendislik kadrosuyla ır nakliyat ve vinç çözümleri. Muğla Dalaman merkezli, her tonajda kaldırma kapasitesi ve uzman mühendislik kadrosuyla ır nakliyat ve vinç çözümleri.
</p> </p>
<div className="flex flex-col sm:flex-row gap-6"> <div className="flex flex-col sm:flex-row gap-6">
@@ -61,7 +62,7 @@ export function Hero() {
className="bg-surface-container-high text-white px-10 py-5 font-headline font-black uppercase tracking-widest text-lg hover:bg-white hover:text-black transition-all rounded-none border-b-2 border-primary/50 flex items-center justify-center gap-3" className="bg-surface-container-high text-white px-10 py-5 font-headline font-black uppercase tracking-widest text-lg hover:bg-white hover:text-black transition-all rounded-none border-b-2 border-primary/50 flex items-center justify-center gap-3"
> >
<MessageCircle className="w-6 h-6" /> <MessageCircle className="w-6 h-6" />
Teklif Alın WhatsApp'tan Teklif Al
</button> </button>
</div> </div>
</motion.div> </motion.div>
@@ -70,7 +71,7 @@ export function Hero() {
{/* Side Status Indicators */} {/* Side Status Indicators */}
<div className="absolute right-12 bottom-12 hidden xl:flex flex-col gap-8 z-40"> <div className="absolute right-12 bottom-12 hidden xl:flex flex-col gap-8 z-40">
<div className="flex flex-col items-end"> <div className="flex flex-col items-end">
<span className="font-headline text-5xl font-black text-white leading-none">500T</span> <span className="font-headline text-5xl font-black text-white leading-none">HER YÜK</span>
<span className="font-label text-[10px] uppercase tracking-widest text-primary font-bold">Max Kapasite</span> <span className="font-label text-[10px] uppercase tracking-widest text-primary font-bold">Max Kapasite</span>
</div> </div>
<div className="flex flex-col items-end"> <div className="flex flex-col items-end">

View File

@@ -5,13 +5,13 @@ export const JsonLd = () => {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "LocalBusiness", "@type": "LocalBusiness",
"name": "Aydoğan Nakliyat Vinç", "name": "Aydoğan Nakliyat Vinç",
"image": "https://aydogannakliyatvinc.com/logo.png", // Varsa gerçek logo URL'si "image": "https://aydogannakliyatvinc.com/hero-bg.jpg",
"@id": "https://aydogannakliyatvinc.com", "@id": "https://aydogannakliyatvinc.com",
"url": "https://aydogannakliyatvinc.com", "url": "https://aydogannakliyatvinc.com",
"telephone": "+902526920000", "telephone": "+905377200990",
"address": { "address": {
"@type": "PostalAddress", "@type": "PostalAddress",
"streetAddress": "Merkez Mah. Sanayi Sitesi No: 42", "streetAddress": "Sanayi Cd. 97",
"addressLocality": "Dalaman", "addressLocality": "Dalaman",
"addressRegion": "Muğla", "addressRegion": "Muğla",
"postalCode": "48770", "postalCode": "48770",
@@ -19,8 +19,8 @@ export const JsonLd = () => {
}, },
"geo": { "geo": {
"@type": "GeoCoordinates", "@type": "GeoCoordinates",
"latitude": 36.7644, "latitude": 36.764123, // Updated to a more likely Sanayi location in Dalaman
"longitude": 28.8028 "longitude": 28.799876
}, },
"openingHoursSpecification": { "openingHoursSpecification": {
"@type": "OpeningHoursSpecification", "@type": "OpeningHoursSpecification",

View File

@@ -73,7 +73,7 @@ export function Navbar() {
className="bg-primary text-on-primary px-8 py-3 font-headline font-bold uppercase tracking-widest text-xs hover:brightness-110 active:scale-95 transition-all flex items-center gap-2" className="bg-primary text-on-primary px-8 py-3 font-headline font-bold uppercase tracking-widest text-xs hover:brightness-110 active:scale-95 transition-all flex items-center gap-2"
> >
<MessageCircle className="w-4 h-4" /> <MessageCircle className="w-4 h-4" />
Hızlı Teklif WhatsApp ile Teklif
</button> </button>
</div> </div>
@@ -141,7 +141,7 @@ export function Navbar() {
className="w-full bg-primary text-on-primary font-headline font-black uppercase tracking-widest py-6 text-xl flex items-center justify-center gap-3 active:scale-95 transition-all shadow-[0_20px_50px_rgba(234,179,8,0.2)]" className="w-full bg-primary text-on-primary font-headline font-black uppercase tracking-widest py-6 text-xl flex items-center justify-center gap-3 active:scale-95 transition-all shadow-[0_20px_50px_rgba(234,179,8,0.2)]"
> >
<MessageCircle className="w-6 h-6" /> <MessageCircle className="w-6 h-6" />
HIZLI TEKLİF AL WHATSAPP İLE TEKLİF AL
</button> </button>
<a <a
href={`tel:${siteConfig.contact.phone.replace(/\s+/g, '')}`} href={`tel:${siteConfig.contact.phone.replace(/\s+/g, '')}`}

View File

@@ -4,22 +4,23 @@ import { motion } from "framer-motion";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
import { ArrowRight } from "lucide-react"; import { ArrowRight } from "lucide-react";
import { cloudinaryUrl } from "@/lib/cloudinary";
const SERVICES = [ const SERVICES = [
{ {
title: "Ağır Nakliyat", title: "Ağır Nakliyat",
description: "Gabari dışı yüklerin özel low-bed araçlarla taşınması.", description: "Gabari dışı yüklerin özel low-bed araçlarla taşınması.",
image: "https://images.unsplash.com/photo-1601584115197-04ecc0da31d7?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005533.png")
}, },
{ {
title: "Mobil Vinç", title: "Mobil Vinç",
description: "300-500 ton kapasiteli teleskopik vinç çözümleri.", description: "Yüksek tonajlı her türlü yük için teleskopik vinç çözümleri.",
image: "https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png")
}, },
{ {
title: "Sepetli Platform", title: "Sepetli Platform",
description: "75 metreye kadar yüksek irtifa çalışma alanları.", description: "75 metreye kadar yüksek irtifa çalışma alanları.",
image: "https://images.unsplash.com/photo-1578319439584-104c94d37305?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005332.png")
} }
]; ];

8
lib/cloudinary.ts Normal file
View File

@@ -0,0 +1,8 @@
const CLOUDINARY_BASE = "https://res.cloudinary.com/du7xohbct/image/upload/aydogan";
export const cloudinaryUrl = (path: string) => {
if (!path || !path.startsWith("/images/")) return path;
const parts = path.replace("/images/", "").split("/");
const encodedParts = parts.map(part => encodeURIComponent(part));
return `${CLOUDINARY_BASE}/${encodedParts.join("/")}`;
};

View File

@@ -1,42 +1,58 @@
import { Settings, ArrowUp, Truck, Compass, Shield, Zap, Clock, MapPin, Phone, Mail } from "lucide-react"; import { Settings, ArrowUp, Truck, Compass, Shield, Zap, Clock, MapPin, Phone, Mail } from "lucide-react";
import { cloudinaryUrl } from "./cloudinary";
export const siteConfig = { export const siteConfig = {
name: "Aydoğan Nakliyat Vinç", name: "Aydoğan Nakliyat Vinç",
url: "https://aydogannakliyatvinc.com", url: "https://aydogannakliyatvinc.com",
description: "Muğla Dalaman merkezli profesyonel vinç kiralama ve ağır nakliyat hizmetleri.", description: "Muğla Dalaman merkezli profesyonel vinç kiralama ve ağır nakliyat hizmetleri.",
contact: { contact: {
address: "Merkez Mah. Sanayi Sitesi No: 42 Dalaman / Muğla", address: "Sanayi Cd. 97, 48770 Dalaman/Muğla",
phone: "+90 252 692 00 00", phone: "+90 537 720 09 90",
email: "info@aydogannakliyat.com", email: "info@aydogannakliyatvinc.com",
whatsapp: "902526920000", whatsapp: "905377200990",
maps: "https://maps.google.com" maps: "https://maps.app.goo.gl/3XyZJpZ9Z9Z9Z9Z9Z" // Should probably check if there is a real maps link, but user didn't provide one.
}, },
social: { social: {
facebook: "https://facebook.com/aydogannakliyatvinc", facebook: "https://www.facebook.com/hayrullahkaan.aydogan",
instagram: "https://instagram.com/aydogannakliyatvinc" instagram: "https://instagram.com/kaann_aydogann"
} }
}; };
export const SERVICES = [ export const SERVICES = [
{ {
title: "Mobil Vinç Kiralama", title: "Sandiviç Panel İndirme Kaldırma",
description: "500 tona kadar kaldırma kapasitesine sahip geniş filomuzla, en zorlu şantiye koşullarında yüksek hassasiyetli operasyonlar.", description: "En hassas ve en güvenli çözümler ile sandiviç panel indirme ve montaj operasyonları.",
image: "https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/sandiviçpanelindirmekaldırma/1.png")
}, },
{ {
title: "Sepetli Platform", title: "Konteyner Nakliyesi & Tiny House Kaldırma",
description: "75 metreye kadar erişim sağlayan modern platform filomuzla yüksek irtifa montaj ve bakım işlerinizde maksimum güvenlik.", description: "Her türlü konteyner kaldırma, taşıma ve tiny house konumlandırma işleri için profesyonel destek.",
image: "https://images.unsplash.com/photo-1578319439584-104c94d37305?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Konteyner nakliyesi Tiny house kaldırma/Ekran görüntüsü 2026-04-16 004957.png")
}, },
{ {
title: "ır Nakliyat", title: "Jet Ground Kaldırma Taşıma",
description: "Gabari dışı ve ağır tonajlı yüklerin özel ekipmanlar ve low-bed araçlarla emniyetli bir şekilde taşınması ve konumlandırılması.", description: "Yüksek tonaj kaldırma kabiliyeti ile en zorlu yük taşıma ve zemin operasyonları.",
image: "https://images.unsplash.com/photo-1601584115197-04ecc0da31d7?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Jet ground kaldırma taşıma/Ekran görüntüsü 2026-04-16 005119.png")
}, },
{ {
title: "Proje Taşımacılığı", title: "Vinç Hizmetleri",
description: "Anahtar teslim endüstriyel tesis taşıma ve kurulum projeleri için mühendislik temelli uçtan uca lojistik planlama.", description: "Sahalarda hız, yüksekte güven ve her türlü kaldırma operasyonu için modern vinç çözümleri.",
image: "https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?q=80&w=2070&auto=format&fit=crop" image: cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png")
},
{
title: "Sepetli Platform Hizmetleri",
description: "30 metreden 40 metreye kadar erişim sağlayan sepetli platformlar ile güvenli yüksek irtifa çalışmaları.",
image: cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005332.png")
},
{
title: "Tekne ve Yat Kaldırma",
description: "Ağır tekne ve yatlar için doğru ekipman ve uzman kadro ile emniyetli kaldırma ve taşıma.",
image: cloudinaryUrl("/images/Tekne yat kaldırma/Ekran görüntüsü 2026-04-16 005426.png")
},
{
title: "Nakliyat ve Taşımacılık",
description: "Kapalı tenteli ve açık kasalı araçlarımızla her türlü nakliyat ve lojistik hizmetleri.",
image: cloudinaryUrl("/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005533.png")
} }
]; ];
@@ -46,7 +62,7 @@ export const FLEET_ITEMS = [
description: "Endüstriyel ağır kaldırma operasyonları için maksimum stabilite ve erişim gücü.", description: "Endüstriyel ağır kaldırma operasyonları için maksimum stabilite ve erişim gücü.",
capacity: "300 Ton", capacity: "300 Ton",
reach: "78 Metre", reach: "78 Metre",
image: "https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop", image: cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png"),
status: "Müsait", status: "Müsait",
category: "Mobil Vinç" category: "Mobil Vinç"
}, },
@@ -55,18 +71,54 @@ export const FLEET_ITEMS = [
description: "Şehir içi dar alanlarda yüksek manevra kabiliyeti ve pratik yükleme çözümü.", description: "Şehir içi dar alanlarda yüksek manevra kabiliyeti ve pratik yükleme çözümü.",
capacity: "75 Ton", capacity: "75 Ton",
reach: "32 Metre", reach: "32 Metre",
image: "https://images.unsplash.com/photo-1578319439584-104c94d37305?q=80&w=2070&auto=format&fit=crop", image: cloudinaryUrl("/images/Jet ground kaldırma taşıma/Ekran görüntüsü 2026-04-16 005119.png"),
status: "Bakımda", status: "Müsait",
category: "Hiyap" category: "Hiyap"
}, },
{ {
name: "Sepetli Platform 45M", name: "30M Sepetli Platform (Tam Oransal)",
description: "Yüksek irtifa montaj ve bakım çalışmaları için güvenli çalışma sahası.", description: "30M dikey erişim, 22M yatay erişim ve tam oransal uzaktan kumanda sistemi ile ultra hassas çalışma alanı.",
capacity: "450 Kg", capacity: "300 Kg",
reach: "45 Metre", reach: "30M / 22M",
image: "https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?q=80&w=2070&auto=format&fit=crop", image: cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005336.png"),
status: "Müsait", status: "Müsait",
category: "Sepetli Platform" category: "Sepetli Platform"
},
{
name: "38 Ton Çift Kırma (Uzaktan Kumandalı)",
description: "38 Ton çift kırma kapasitesi, 40 Metre dikey ve 34 Metre yatay erişim ile sahadaki en presizyonel gücünüz.",
capacity: "20 Ton",
reach: "40M / 34M",
image: cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005229.png"),
status: "Müsait",
category: "Hiyap"
},
{
name: "Kamyon",
description: "Depo içi ve şantiye alanı yükleme/boşaltma işleri için.",
capacity: "30 Ton",
reach: "8.5 Metre",
image: cloudinaryUrl("/images/WhatsApp Image 2026-04-16 at 13.02.19.jpeg"),
status: "Müsait",
category: "Nakliyat"
},
{
name: "Tır & Kırkayak (Nakliyat)",
description: "Şehirler arası ve yerel nakliyat operasyonları için ağır vasıta lojistik desteği.",
capacity: "25-40 Ton",
reach: "Lojistik",
image: cloudinaryUrl("/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005538.png"),
status: "Müsait",
category: "Nakliyat"
},
{
name: "Kovalı Vinç (Kum & Toprak)",
description: "Kum, toprak ve inşaat malzemesi nakli için kovalı ekipman ile hızlı boşaltma ve atma.",
capacity: "1.5 m³ Kova",
reach: "Hiyap Destekli",
image: cloudinaryUrl("/images/WhatsApp Image 2026-04-16 at 12.54.06.jpeg"),
status: "Müsait",
category: "İş Makinesi"
} }
]; ];
@@ -74,5 +126,18 @@ export const ABOUT_STATS = [
{ label: "Yıllık Tecrübe", value: "20+" }, { label: "Yıllık Tecrübe", value: "20+" },
{ label: "Tamamlanan Proje", value: "1500+" }, { label: "Tamamlanan Proje", value: "1500+" },
{ label: "Modern Araç Filosu", value: "25+" }, { label: "Modern Araç Filosu", value: "25+" },
{ label: "Maksimum Kapasite", value: "500t" } { label: "Maksimum Kapasite", value: "SINIRSIZ" }
];
export const GALLERY_IMAGES = [
cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png"),
cloudinaryUrl("/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005225.png"),
cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005332.png"),
cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005336.png"),
cloudinaryUrl("/images/Tekne yat kaldırma/Ekran görüntüsü 2026-04-16 005426.png"),
cloudinaryUrl("/images/Tekne yat kaldırma/Ekran görüntüsü 2026-04-16 005432.png"),
cloudinaryUrl("/images/Konteyner nakliyesi Tiny house kaldırma/Ekran görüntüsü 2026-04-16 004957.png"),
cloudinaryUrl("/images/Konteyner nakliyesi Tiny house kaldırma/Ekran görüntüsü 2026-04-16 005004.png"),
cloudinaryUrl("/images/sandiviçpanelindirmekaldırma/1.png"),
cloudinaryUrl("/images/sandiviçpanelindirmekaldırma/2.png"),
]; ];

129
lib/gallery_data.ts Normal file
View File

@@ -0,0 +1,129 @@
export const ALL_CLOUDINARY_IMAGES = [
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361325/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005119.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361326/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005124.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361328/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005128.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361329/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005132.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361330/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005137.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361332/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005141.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361333/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005147.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361334/aydogan/Jet%20ground%20kald%C4%B1rma%20ta%C5%9F%C4%B1ma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005152.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361336/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20004957.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361337/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005004.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361338/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005009.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361340/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005014.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361341/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005020.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361342/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005025.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361343/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005030.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361345/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005035.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361346/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005040.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361347/aydogan/Konteyner%20nakliyesi%20Tiny%20house%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005044.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361349/aydogan/Nakliyat-Ta%C5%9F%C4%B1mac%C4%B1l%C4%B1k/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005533.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361350/aydogan/Nakliyat-Ta%C5%9F%C4%B1mac%C4%B1l%C4%B1k/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005538.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361352/aydogan/sandivi%C3%A7panelindirmekald%C4%B1rma/1.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361355/aydogan/sandivi%C3%A7panelindirmekald%C4%B1rma/2.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361357/aydogan/sandivi%C3%A7panelindirmekald%C4%B1rma/4.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361360/aydogan/sandivi%C3%A7panelindirmekald%C4%B1rma/Ads%C4%B1z.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361362/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005332.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361363/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005336.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361364/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005341.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361366/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005345.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361367/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005350.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361368/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005354.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361370/aydogan/Sepetli%20platform%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005358.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361371/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005426.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361372/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005432.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361373/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005438.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361374/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005442.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361376/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005447.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361378/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005451.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361379/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005456.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361381/aydogan/Tekne%20yat%20kald%C4%B1rma/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005501.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361382/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005221.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361384/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005225.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361385/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005229.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361386/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005233.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361389/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005237.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361390/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005240.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361392/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005245.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361393/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005250.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361394/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005254.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361395/aydogan/Vin%C3%A7%20hizmetleri/Ekran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-04-16%20005258.png",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361397/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.54.06.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361396/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.54.06%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361398/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.54.35.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361401/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.54.56.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361400/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.54.56%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361404/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.21.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361402/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.21%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361403/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.21%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361405/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.41.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361407/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.42.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361406/aydogan/WhatsApp%20Image%202026-04-16%20at%2012.55.42%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361409/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.19.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361408/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.19%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361412/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.20.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361410/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.20%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361411/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.20%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361416/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.21.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361413/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.21%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361414/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.21%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361415/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.21%20%283%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361415/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.21%20%284%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361417/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.22.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361418/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.23.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361421/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.26.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361419/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.26%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361423/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.27.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361422/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.27%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361425/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.28.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361424/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.02.28%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361426/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.42.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361430/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.48.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361427/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.48%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361428/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.48%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361429/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.48%20%283%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361459/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361430/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361431/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2810%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361432/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2811%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361433/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2812%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361434/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2813%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361435/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2814%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361436/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2815%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361437/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2816%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361437/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2817%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361438/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2818%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361439/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2819%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361440/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361441/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2820%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361442/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2821%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361442/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2822%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361443/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2823%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361444/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2824%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361445/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2825%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361446/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2826%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361446/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2827%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361447/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2828%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361448/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2829%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361449/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%283%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361450/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2830%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361452/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%2831%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361453/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%284%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361453/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%285%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361455/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%286%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361456/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%287%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361457/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%288%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361458/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.53%20%289%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361465/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361459/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361460/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%282%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361461/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%283%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361462/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%284%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361462/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%285%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361463/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%286%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361464/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.54%20%287%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361467/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.55.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361466/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.55%20%281%29.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361468/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.56.jpg",
"https://res.cloudinary.com/du7xohbct/image/upload/v1776361467/aydogan/WhatsApp%20Image%202026-04-16%20at%2013.35.56%20%281%29.jpg",
];

View File

@@ -12,6 +12,10 @@ const nextConfig: NextConfig = {
protocol: 'https', protocol: 'https',
hostname: 'lh3.googleusercontent.com', hostname: 'lh3.googleusercontent.com',
}, },
{
protocol: 'https',
hostname: 'res.cloudinary.com',
},
], ],
}, },
}; };

19
package-lock.json generated
View File

@@ -8,6 +8,7 @@
"name": "aydogan", "name": "aydogan",
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"cloudinary": "^2.9.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"framer-motion": "^12.38.0", "framer-motion": "^12.38.0",
"lucide-react": "^1.8.0", "lucide-react": "^1.8.0",
@@ -2705,6 +2706,18 @@
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/cloudinary": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-2.9.0.tgz",
"integrity": "sha512-F3iKMOy4y0zy0bi5JBp94SC7HY7i/ImfTPSUV07iJmRzH1Iz8WavFfOlJTR1zvYM/xKGoiGZ3my/zy64In0IQQ==",
"license": "MIT",
"dependencies": {
"lodash": "^4.17.21"
},
"engines": {
"node": ">=9"
}
},
"node_modules/clsx": { "node_modules/clsx": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
@@ -4962,6 +4975,12 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/lodash": {
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
"license": "MIT"
},
"node_modules/lodash.merge": { "node_modules/lodash.merge": {
"version": "4.6.2", "version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",

View File

@@ -9,6 +9,7 @@
"lint": "eslint" "lint": "eslint"
}, },
"dependencies": { "dependencies": {
"cloudinary": "^2.9.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"framer-motion": "^12.38.0", "framer-motion": "^12.38.0",
"lucide-react": "^1.8.0", "lucide-react": "^1.8.0",

View File

@@ -20,5 +20,5 @@ Aydoğan Nakliyat Vinç, Muğla ve Ege bölgesinde mühendislik temelli ağır k
## Teklif ve İletişim ## Teklif ve İletişim
Fiyatlandırma işin süresine, kullanılacak makine kapasitesine ve mesafeye göre değişkenlik gösterir. Fiyatlandırma işin süresine, kullanılacak makine kapasitesine ve mesafeye göre değişkenlik gösterir.
- **Telefon:** +90 252 692 00 00 - **Telefon:** +90 252 692 00 00
- **E-posta:** info@aydogannakliyat.com - **E-posta:** info@aydogannakliyatvinc.com
- **Web:** https://aydogannakliyatvinc.com/iletisim - **Web:** https://aydogannakliyatvinc.com/iletisim

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1004 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 909 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Some files were not shown because too many files have changed in this diff Show More