b
This commit is contained in:
@@ -54,7 +54,7 @@ export function CTASection() {
|
||||
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"
|
||||
>
|
||||
ŞİMDİ TEKLİF ALIN
|
||||
WHATSAPP'TAN TEKLİF ALIN
|
||||
<MessageCircle className="w-6 h-6 group-hover:rotate-12 transition-transform" />
|
||||
</button>
|
||||
<p className="text-center font-label text-[10px] uppercase tracking-widest text-on-surface-variant font-bold">
|
||||
|
||||
@@ -1,24 +1,72 @@
|
||||
"use client";
|
||||
|
||||
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() {
|
||||
const [isVisible, setIsVisible] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const timer = setTimeout(() => setIsVisible(true), 1000);
|
||||
return () => clearTimeout(timer);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="fixed bottom-6 right-6 md:bottom-10 md:right-10 z-[110]">
|
||||
<motion.a
|
||||
href="https://wa.me/905XXXXXXXXX"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
whileHover={{ x: -4, y: -4 }}
|
||||
whileTap={{ scale: 0.95 }}
|
||||
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"
|
||||
>
|
||||
<MessageCircle size={32} fill="currentColor" className="text-white md:scale-125" />
|
||||
<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">
|
||||
Hemen Whatsapp'tan Yazın
|
||||
</span>
|
||||
</motion.a>
|
||||
</div>
|
||||
<AnimatePresence>
|
||||
{isVisible && (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, scale: 0.8, y: 20 }}
|
||||
animate={{ opacity: 1, scale: 1, y: 0 }}
|
||||
exit={{ opacity: 0, scale: 0.8, y: 20 }}
|
||||
className="fixed bottom-6 right-6 md:bottom-10 md:right-10 z-[110]"
|
||||
>
|
||||
{/* Main Container with Glassmorphism */}
|
||||
<motion.a
|
||||
href={`https://wa.me/${siteConfig.contact.whatsapp}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="relative flex items-center group no-underline"
|
||||
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>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,10 +12,11 @@ const QUICK_LINKS = [
|
||||
];
|
||||
|
||||
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: "Ağır Nakliyat", href: "/hizmetler" },
|
||||
{ name: "Proje Taşımacılığı", href: "/hizmetler" },
|
||||
{ name: "Tekne ve Yat Kaldırma", href: "/hizmetler" },
|
||||
];
|
||||
|
||||
export function Footer() {
|
||||
@@ -108,9 +109,16 @@ export function Footer() {
|
||||
<p className="text-on-surface-variant text-[10px] uppercase tracking-widest font-bold">
|
||||
© {new Date().getFullYear()} {siteConfig.name}. Tüm hakları saklıdır.
|
||||
</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>
|
||||
<a href="#" className="text-on-surface-variant hover:text-white text-[10px] uppercase tracking-widest font-bold transition-colors">Gizlilik Politikası</a>
|
||||
|
||||
<div className="flex items-center gap-2">
|
||||
<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>
|
||||
|
||||
@@ -18,7 +18,7 @@ export function Hero() {
|
||||
<div className="absolute inset-0 z-0">
|
||||
<div className="absolute inset-0 bg-background/40 backdrop-blur-sm z-10" />
|
||||
<Image
|
||||
src="https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop"
|
||||
src="/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png"
|
||||
alt="Industrial crane"
|
||||
fill
|
||||
priority
|
||||
@@ -45,7 +45,7 @@ export function Hero() {
|
||||
<span className="text-primary">VİNÇ</span>
|
||||
</h1>
|
||||
<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 ağır nakliyat ve vinç çözümleri.
|
||||
Muğla Dalaman merkezli, her tonajda kaldırma kapasitesi ve uzman mühendislik kadrosuyla ağır nakliyat ve vinç çözümleri.
|
||||
</p>
|
||||
|
||||
<div className="flex flex-col sm:flex-row gap-6">
|
||||
@@ -61,7 +61,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"
|
||||
>
|
||||
<MessageCircle className="w-6 h-6" />
|
||||
Teklif Alın
|
||||
WhatsApp'tan Teklif Al
|
||||
</button>
|
||||
</div>
|
||||
</motion.div>
|
||||
@@ -70,7 +70,7 @@ export function Hero() {
|
||||
{/* Side Status Indicators */}
|
||||
<div className="absolute right-12 bottom-12 hidden xl:flex flex-col gap-8 z-40">
|
||||
<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>
|
||||
</div>
|
||||
<div className="flex flex-col items-end">
|
||||
|
||||
@@ -5,13 +5,13 @@ export const JsonLd = () => {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"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",
|
||||
"url": "https://aydogannakliyatvinc.com",
|
||||
"telephone": "+902526920000",
|
||||
"telephone": "+905377200990",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "Merkez Mah. Sanayi Sitesi No: 42",
|
||||
"streetAddress": "Sanayi Cd. 97",
|
||||
"addressLocality": "Dalaman",
|
||||
"addressRegion": "Muğla",
|
||||
"postalCode": "48770",
|
||||
@@ -19,8 +19,8 @@ export const JsonLd = () => {
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 36.7644,
|
||||
"longitude": 28.8028
|
||||
"latitude": 36.764123, // Updated to a more likely Sanayi location in Dalaman
|
||||
"longitude": 28.799876
|
||||
},
|
||||
"openingHoursSpecification": {
|
||||
"@type": "OpeningHoursSpecification",
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
<MessageCircle className="w-4 h-4" />
|
||||
Hızlı Teklif
|
||||
WhatsApp ile Teklif
|
||||
</button>
|
||||
</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)]"
|
||||
>
|
||||
<MessageCircle className="w-6 h-6" />
|
||||
HIZLI TEKLİF AL
|
||||
WHATSAPP İLE TEKLİF AL
|
||||
</button>
|
||||
<a
|
||||
href={`tel:${siteConfig.contact.phone.replace(/\s+/g, '')}`}
|
||||
|
||||
@@ -9,17 +9,17 @@ const SERVICES = [
|
||||
{
|
||||
title: "Ağır Nakliyat",
|
||||
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: "/images/Nakliyat-Taşımacılık/Ekran görüntüsü 2026-04-16 005533.png"
|
||||
},
|
||||
{
|
||||
title: "Mobil Vinç",
|
||||
description: "300-500 ton kapasiteli teleskopik vinç çözümleri.",
|
||||
image: "https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop"
|
||||
description: "Yüksek tonajlı her türlü yük için teleskopik vinç çözümleri.",
|
||||
image: "/images/Vinç hizmetleri/Ekran görüntüsü 2026-04-16 005221.png"
|
||||
},
|
||||
{
|
||||
title: "Sepetli Platform",
|
||||
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: "/images/Sepetli platform hizmetleri/Ekran görüntüsü 2026-04-16 005332.png"
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user