diff --git a/app/favicon.ico b/app/favicon.ico index 718d6fe..7229ed3 100644 Binary files a/app/favicon.ico and b/app/favicon.ico differ diff --git a/app/filomuz/page.tsx b/app/filomuz/page.tsx index 1b86367..7fa7380 100644 --- a/app/filomuz/page.tsx +++ b/app/filomuz/page.tsx @@ -7,13 +7,15 @@ import Image from "next/image"; import { Metadata } from "next"; import { FLEET_ITEMS } from "@/lib/data"; import { FleetList } from "@/components/FleetList"; +import { FleetGallery } from "@/components/FleetGallery"; +import { ALL_CLOUDINARY_IMAGES } from "@/lib/gallery_data"; export const metadata: Metadata = { title: "Vinç Filosu ve İş Makinelerimiz | Dalaman Muğla", 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() { return ( @@ -47,6 +49,8 @@ export default function FleetPage() { + + diff --git a/components/FleetGallery.tsx b/components/FleetGallery.tsx new file mode 100644 index 0000000..00238af --- /dev/null +++ b/components/FleetGallery.tsx @@ -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(null); + + const nextImage = () => { + if (selectedImage !== null) { + setSelectedImage((selectedImage + 1) % images.length); + } + }; + + const prevImage = () => { + if (selectedImage !== null) { + setSelectedImage((selectedImage - 1 + images.length) % images.length); + } + }; + + return ( + + + + + SAHADAN KARELER + + + FİLOMUZ AKSİYONDA + + + + + {images.map((src, index) => ( + setSelectedImage(index)} + > + + + + + + + + + ))} + + + + + {selectedImage !== null && ( + setSelectedImage(null)} + > + { + e.stopPropagation(); + setSelectedImage(null); + }} + > + + + + { + e.stopPropagation(); + prevImage(); + }} + > + + + + { + e.stopPropagation(); + nextImage(); + }} + > + + + + e.stopPropagation()} + > + + + + + + + {selectedImage + 1} / {images.length} + + + )} + + + ); +} diff --git a/components/Hero.tsx b/components/Hero.tsx index 301b6d7..43de324 100644 --- a/components/Hero.tsx +++ b/components/Hero.tsx @@ -5,6 +5,7 @@ import Image from "next/image"; import Link from "next/link"; import { ArrowRight, Phone, MessageCircle } from "lucide-react"; import { siteConfig } from "@/lib/data"; +import { cloudinaryUrl } from "@/lib/cloudinary"; export function Hero() { const handleWhatsApp = () => { @@ -18,7 +19,7 @@ export function Hero() { { + 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("/")}`; +}; diff --git a/lib/data.ts b/lib/data.ts index 71d93e6..74893e7 100644 --- a/lib/data.ts +++ b/lib/data.ts @@ -1,4 +1,5 @@ import { Settings, ArrowUp, Truck, Compass, Shield, Zap, Clock, MapPin, Phone, Mail } from "lucide-react"; +import { cloudinaryUrl } from "./cloudinary"; export const siteConfig = { name: "Aydoğan Nakliyat Vinç", @@ -21,37 +22,37 @@ export const SERVICES = [ { title: "Sandiviç Panel İndirme Kaldırma", description: "En hassas ve en güvenli çözümler ile sandiviç panel indirme ve montaj operasyonları.", - image: "/images/sandiviçpanelindirmekaldırma/1.png" + image: cloudinaryUrl("/images/sandiviçpanelindirmekaldırma/1.png") }, { title: "Konteyner Nakliyesi & Tiny House Kaldırma", description: "Her türlü konteyner kaldırma, taşıma ve tiny house konumlandırma işleri için profesyonel destek.", - image: "/images/Konteyner nakliyesi Tiny house kaldırma/Ekran görüntüsü 2026-04-16 004957.png" + image: cloudinaryUrl("/images/Konteyner nakliyesi Tiny house kaldırma/Ekran görüntüsü 2026-04-16 004957.png") }, { title: "Jet Ground Kaldırma Taşıma", description: "Yüksek tonaj kaldırma kabiliyeti ile en zorlu yük taşıma ve zemin operasyonları.", - image: "/images/Jet ground kaldırma taşıma/Ekran görüntüsü 2026-04-16 005119.png" + image: cloudinaryUrl("/images/Jet ground kaldırma taşıma/Ekran görüntüsü 2026-04-16 005119.png") }, { title: "Vinç Hizmetleri", description: "Sahalarda hız, yüksekte güven ve her türlü kaldırma operasyonu için modern vinç çözümleri.", - image: "/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png" + 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: "/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005332.png" + 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: "/images/Tekne yat kaldırma/Ekran görüntüsü 2026-04-16 005426.png" + 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: "/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005533.png" + image: cloudinaryUrl("/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005533.png") } ]; @@ -61,7 +62,7 @@ export const FLEET_ITEMS = [ description: "Endüstriyel ağır kaldırma operasyonları için maksimum stabilite ve erişim gücü.", capacity: "300 Ton", 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", category: "Mobil Vinç" }, @@ -70,18 +71,54 @@ export const FLEET_ITEMS = [ description: "Şehir içi dar alanlarda yüksek manevra kabiliyeti ve pratik yükleme çözümü.", capacity: "75 Ton", 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", category: "Hiyap" }, { - name: "Sepetli Platform 45M", - description: "Yüksek irtifa montaj ve bakım çalışmaları için güvenli çalışma sahası.", - capacity: "450 Kg", - reach: "45 Metre", - image: "https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?q=80&w=2070&auto=format&fit=crop", + name: "30M Sepetli Platform (Tam Oransal)", + description: "30M dikey erişim, 22M yatay erişim ve tam oransal uzaktan kumanda sistemi ile ultra hassas çalışma alanı.", + capacity: "300 Kg", + reach: "30M / 22M", + image: cloudinaryUrl("/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005336.png"), status: "Müsait", 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: "3.5 Ton Forklift", + description: "Depo içi ve şantiye alanı yükleme/boşaltma işleri için yüksek manevra kabiliyetli 3.5 tonluk forklift.", + capacity: "3.5 Ton", + reach: "4.5 Metre", + image: cloudinaryUrl("/images/WhatsApp Image 2026-04-16 at 13.02.19.jpeg"), + status: "Müsait", + category: "Forklift" + }, + { + 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/Jet ground kaldırma taşıma/Ekran görüntüsü 2026-04-16 005124.png"), + status: "Müsait", + category: "İş Makinesi" } ]; @@ -91,3 +128,16 @@ export const ABOUT_STATS = [ { label: "Modern Araç Filosu", value: "25+" }, { 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"), +]; diff --git a/lib/gallery_data.ts b/lib/gallery_data.ts new file mode 100644 index 0000000..4764932 --- /dev/null +++ b/lib/gallery_data.ts @@ -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", +]; \ No newline at end of file diff --git a/next.config.ts b/next.config.ts index 5d66eb7..94ef1d3 100644 --- a/next.config.ts +++ b/next.config.ts @@ -12,6 +12,10 @@ const nextConfig: NextConfig = { protocol: 'https', hostname: 'lh3.googleusercontent.com', }, + { + protocol: 'https', + hostname: 'res.cloudinary.com', + }, ], }, }; diff --git a/package-lock.json b/package-lock.json index 70b8d17..9dd9c48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "aydogan", "version": "0.1.0", "dependencies": { + "cloudinary": "^2.9.0", "clsx": "^2.1.1", "framer-motion": "^12.38.0", "lucide-react": "^1.8.0", @@ -2705,6 +2706,18 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "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": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -4962,6 +4975,12 @@ "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": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", diff --git a/package.json b/package.json index 0c25ecc..e635c08 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint": "eslint" }, "dependencies": { + "cloudinary": "^2.9.0", "clsx": "^2.1.1", "framer-motion": "^12.38.0", "lucide-react": "^1.8.0", diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.54.06 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.54.06 (1).jpeg new file mode 100644 index 0000000..e9280d5 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.54.06 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.54.06.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.54.06.jpeg new file mode 100644 index 0000000..a191695 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.54.06.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.54.35.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.54.35.jpeg new file mode 100644 index 0000000..522fb95 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.54.35.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.54.56 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.54.56 (1).jpeg new file mode 100644 index 0000000..ac3bced Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.54.56 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.54.56.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.54.56.jpeg new file mode 100644 index 0000000..ba9a825 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.54.56.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (1).jpeg new file mode 100644 index 0000000..f5496e8 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (2).jpeg new file mode 100644 index 0000000..7cb1adb Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.21 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.21.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.21.jpeg new file mode 100644 index 0000000..bba7247 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.21.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.41.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.41.jpeg new file mode 100644 index 0000000..6ac7a6b Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.41.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.42 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.42 (1).jpeg new file mode 100644 index 0000000..53e4f03 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.42 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 12.55.42.jpeg b/public/images/WhatsApp Image 2026-04-16 at 12.55.42.jpeg new file mode 100644 index 0000000..e6863e0 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 12.55.42.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.19 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.19 (1).jpeg new file mode 100644 index 0000000..ac77b5a Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.19 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.19.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.19.jpeg new file mode 100644 index 0000000..d1e452c Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.19.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (1).jpeg new file mode 100644 index 0000000..4ed2c38 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (2).jpeg new file mode 100644 index 0000000..9ae6bf4 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.20 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.20.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.20.jpeg new file mode 100644 index 0000000..abea46f Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.20.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (1).jpeg new file mode 100644 index 0000000..229b396 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (2).jpeg new file mode 100644 index 0000000..005dff2 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (3).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (3).jpeg new file mode 100644 index 0000000..6e4d939 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (3).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (4).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (4).jpeg new file mode 100644 index 0000000..cb3fb2f Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.21 (4).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.21.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.21.jpeg new file mode 100644 index 0000000..20e4b49 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.21.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.22.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.22.jpeg new file mode 100644 index 0000000..4b30c63 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.22.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.23.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.23.jpeg new file mode 100644 index 0000000..8731b13 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.23.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.26 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.26 (1).jpeg new file mode 100644 index 0000000..89a7bbf Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.26 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.26.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.26.jpeg new file mode 100644 index 0000000..e5714f2 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.26.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.27 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.27 (1).jpeg new file mode 100644 index 0000000..bedac18 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.27 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.27.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.27.jpeg new file mode 100644 index 0000000..1fb634e Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.27.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.28 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.28 (1).jpeg new file mode 100644 index 0000000..f2416a1 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.28 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.02.28.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.02.28.jpeg new file mode 100644 index 0000000..66b100a Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.02.28.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.42.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.42.jpeg new file mode 100644 index 0000000..eab688b Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.42.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (1).jpeg new file mode 100644 index 0000000..87a3955 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (2).jpeg new file mode 100644 index 0000000..261c2bd Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (3).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (3).jpeg new file mode 100644 index 0000000..1b31cf5 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.48 (3).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.48.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.48.jpeg new file mode 100644 index 0000000..468299c Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.48.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (1).jpeg new file mode 100644 index 0000000..e1e27c5 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (10).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (10).jpeg new file mode 100644 index 0000000..fedd8b7 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (10).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (11).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (11).jpeg new file mode 100644 index 0000000..48ef18d Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (11).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (12).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (12).jpeg new file mode 100644 index 0000000..f3df373 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (12).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (13).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (13).jpeg new file mode 100644 index 0000000..95376a7 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (13).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (14).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (14).jpeg new file mode 100644 index 0000000..570f13b Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (14).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (15).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (15).jpeg new file mode 100644 index 0000000..73a2862 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (15).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (16).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (16).jpeg new file mode 100644 index 0000000..d592f09 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (16).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (17).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (17).jpeg new file mode 100644 index 0000000..4c118ce Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (17).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (18).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (18).jpeg new file mode 100644 index 0000000..dd06885 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (18).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (19).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (19).jpeg new file mode 100644 index 0000000..9da0e09 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (19).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (2).jpeg new file mode 100644 index 0000000..b04a35d Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (20).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (20).jpeg new file mode 100644 index 0000000..0420880 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (20).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (21).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (21).jpeg new file mode 100644 index 0000000..3971a6a Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (21).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (22).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (22).jpeg new file mode 100644 index 0000000..9e1c701 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (22).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (23).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (23).jpeg new file mode 100644 index 0000000..922a50f Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (23).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (24).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (24).jpeg new file mode 100644 index 0000000..9ef832e Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (24).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (25).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (25).jpeg new file mode 100644 index 0000000..96194a2 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (25).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (26).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (26).jpeg new file mode 100644 index 0000000..5bd3275 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (26).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (27).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (27).jpeg new file mode 100644 index 0000000..0ab115f Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (27).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (28).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (28).jpeg new file mode 100644 index 0000000..1bdb2e0 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (28).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (29).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (29).jpeg new file mode 100644 index 0000000..e204f6d Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (29).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (3).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (3).jpeg new file mode 100644 index 0000000..ee10f41 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (3).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (30).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (30).jpeg new file mode 100644 index 0000000..6383a9a Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (30).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (31).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (31).jpeg new file mode 100644 index 0000000..99e17b1 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (31).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (4).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (4).jpeg new file mode 100644 index 0000000..2ecf43c Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (4).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (5).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (5).jpeg new file mode 100644 index 0000000..93e1005 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (5).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (6).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (6).jpeg new file mode 100644 index 0000000..a95ad06 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (6).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (7).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (7).jpeg new file mode 100644 index 0000000..664590f Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (7).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (8).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (8).jpeg new file mode 100644 index 0000000..f562537 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (8).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (9).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (9).jpeg new file mode 100644 index 0000000..56c4b00 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53 (9).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.53.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.53.jpeg new file mode 100644 index 0000000..6671ce5 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.53.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (1).jpeg new file mode 100644 index 0000000..bd1a1bd Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (2).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (2).jpeg new file mode 100644 index 0000000..da87f15 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (2).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (3).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (3).jpeg new file mode 100644 index 0000000..27a6120 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (3).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (4).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (4).jpeg new file mode 100644 index 0000000..d6681c4 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (4).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (5).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (5).jpeg new file mode 100644 index 0000000..5b622fb Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (5).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (6).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (6).jpeg new file mode 100644 index 0000000..63575e4 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (6).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (7).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (7).jpeg new file mode 100644 index 0000000..ce26741 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54 (7).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.54.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.54.jpeg new file mode 100644 index 0000000..6f4530a Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.54.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.55 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.55 (1).jpeg new file mode 100644 index 0000000..3a5c376 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.55 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.55.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.55.jpeg new file mode 100644 index 0000000..fb1124b Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.55.jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.56 (1).jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.56 (1).jpeg new file mode 100644 index 0000000..4f44edd Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.56 (1).jpeg differ diff --git a/public/images/WhatsApp Image 2026-04-16 at 13.35.56.jpeg b/public/images/WhatsApp Image 2026-04-16 at 13.35.56.jpeg new file mode 100644 index 0000000..9462590 Binary files /dev/null and b/public/images/WhatsApp Image 2026-04-16 at 13.35.56.jpeg differ diff --git a/public/images/WhatsApp Video 2026-04-16 at .mp4 b/public/images/WhatsApp Video 2026-04-16 at .mp4 new file mode 100644 index 0000000..5465f83 Binary files /dev/null and b/public/images/WhatsApp Video 2026-04-16 at .mp4 differ diff --git a/public/images/WhatsApp Video 2026-04-16 at 13.35.56.mp4 b/public/images/WhatsApp Video 2026-04-16 at 13.35.56.mp4 new file mode 100644 index 0000000..b64cd4a Binary files /dev/null and b/public/images/WhatsApp Video 2026-04-16 at 13.35.56.mp4 differ diff --git a/public/images/WhatsApp Video 202gh6-04-16 at 13.35.56.mp4 b/public/images/WhatsApp Video 202gh6-04-16 at 13.35.56.mp4 new file mode 100644 index 0000000..497b735 Binary files /dev/null and b/public/images/WhatsApp Video 202gh6-04-16 at 13.35.56.mp4 differ diff --git a/scripts/generate_gallery_list.mjs b/scripts/generate_gallery_list.mjs new file mode 100644 index 0000000..fabac3f --- /dev/null +++ b/scripts/generate_gallery_list.mjs @@ -0,0 +1,56 @@ +import { v2 as cloudinary } from 'cloudinary'; +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const envPath = path.resolve(__dirname, '../.env.local'); +const envContent = fs.readFileSync(envPath, 'utf8'); + +const env = {}; +envContent.split('\n').forEach(line => { + const [key, ...valueParts] = line.split('='); + if (key && valueParts.length > 0) { + let value = valueParts.join('=').trim(); + if (value.startsWith('"') && value.endsWith('"')) { + value = value.substring(1, value.length - 1); + } + env[key] = value; + } +}); + +cloudinary.config({ + cloud_name: env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME, + api_key: env.CLOUDINARY_API_KEY, + api_secret: env.CLOUDINARY_API_SECRET +}); + +async function listAllImages() { + let allImages = []; + let nextCursor = null; + + console.log('Fetching image list from Cloudinary...'); + + do { + const result = await cloudinary.api.resources({ + type: 'upload', + prefix: 'aydogan/', + max_results: 500, + next_cursor: nextCursor + }); + + allImages = allImages.concat(result.resources.map(res => res.secure_url)); + nextCursor = result.next_cursor; + } while (nextCursor); + + console.log(`Found ${allImages.length} images.`); + + // Format the output for data.ts + const formattedList = allImages.map(url => ` "${url}",`).join('\n'); + const fileContent = `export const ALL_CLOUDINARY_IMAGES = [\n${formattedList}\n];`; + + fs.writeFileSync(path.resolve(__dirname, '../lib/gallery_data.ts'), fileContent); + console.log('Gallery data saved to lib/gallery_data.ts'); +} + +listAllImages().catch(err => console.error(err)); diff --git a/scripts/upload_cloudinary.mjs b/scripts/upload_cloudinary.mjs new file mode 100644 index 0000000..b05e429 --- /dev/null +++ b/scripts/upload_cloudinary.mjs @@ -0,0 +1,62 @@ +import { v2 as cloudinary } from 'cloudinary'; +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +// Setup environment variables manually from .env.local +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const envPath = path.resolve(__dirname, '../.env.local'); +const envContent = fs.readFileSync(envPath, 'utf8'); + +const env = {}; +envContent.split('\n').forEach(line => { + const [key, ...valueParts] = line.split('='); + if (key && valueParts.length > 0) { + let value = valueParts.join('=').trim(); + if (value.startsWith('"') && value.endsWith('"')) { + value = value.substring(1, value.length - 1); + } + env[key] = value; + } +}); + +cloudinary.config({ + cloud_name: env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME, + api_key: env.CLOUDINARY_API_KEY, + api_secret: env.CLOUDINARY_API_SECRET +}); + +const IMAGES_DIR = path.resolve(__dirname, '../public/images'); + +async function uploadFiles(dir) { + const entries = fs.readdirSync(dir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + if (entry.isDirectory()) { + await uploadFiles(fullPath); + } else if (entry.isFile() && /\.(png|jpg|jpeg|webp)$/i.test(entry.name)) { + const relativePath = path.relative(IMAGES_DIR, fullPath); + const folder = path.join('aydogan', path.dirname(relativePath)).replace(/\\/g, '/'); + const publicId = path.basename(entry.name, path.extname(entry.name)); + + console.log(`Uploading: ${relativePath} to folder: ${folder}`); + try { + const result = await cloudinary.uploader.upload(fullPath, { + folder: folder, + public_id: publicId, + overwrite: true, + resource_type: 'image' + }); + console.log(`Successfully uploaded: ${result.secure_url}`); + } catch (error) { + console.error(`Failed to upload ${relativePath}:`, error.message); + } + } + } +} + +console.log('Starting upload to Cloudinary...'); +uploadFiles(IMAGES_DIR) + .then(() => console.log('Upload finished!')) + .catch(err => console.error('Upload failed:', err));