bot
This commit is contained in:
+63
-23
@@ -28,7 +28,7 @@ const defaultFeatures = [
|
||||
|
||||
const rooms = [
|
||||
{
|
||||
img: "https://images.unsplash.com/photo-1582719478250-c89404bb8a0e?q=80&w=2940&auto=format&fit=crop",
|
||||
img: "https://images.unsplash.com/photo-1618773928121-c32242e63f39?q=80&w=2940&auto=format&fit=crop",
|
||||
badge: "Standart",
|
||||
badgeStyle: "bg-white/90 text-dark",
|
||||
name: "Standart Oda",
|
||||
@@ -74,6 +74,24 @@ const testimonials = [
|
||||
},
|
||||
];
|
||||
|
||||
const testimonialsEn = [
|
||||
{
|
||||
text: "I've stayed in many places in Akyaka, but Kite Beach was a completely different experience. The sound of the river, kitesurf lessons, and the amazing breakfast — everything was perfect.",
|
||||
name: "Ayse K.",
|
||||
from: "Istanbul",
|
||||
},
|
||||
{
|
||||
text: "Yoga sessions on the wooden platform, early in the morning with a river view. Hard to put into words — a must-try.",
|
||||
name: "Marco B.",
|
||||
from: "Italy",
|
||||
},
|
||||
{
|
||||
text: "The instructors are very caring. After my kitesurf lessons, I became addicted. I will definitely return next summer.",
|
||||
name: "Mehmet O.",
|
||||
from: "Ankara",
|
||||
},
|
||||
];
|
||||
|
||||
import { getDictionary, Locale } from "./dictionaries";
|
||||
import prisma from "@/lib/prisma";
|
||||
import { buildMeta } from "@/lib/metadata";
|
||||
@@ -139,6 +157,8 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
getInstagramData(),
|
||||
]);
|
||||
|
||||
const displayTestimonials = lang === "en" ? testimonialsEn : testimonials;
|
||||
|
||||
const heroData = heroDb || {
|
||||
location: dict.home.location,
|
||||
welcome: dict.home.welcome,
|
||||
@@ -306,10 +326,12 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
</p>
|
||||
<div className="section-line mb-8" />
|
||||
<Link
|
||||
href="/hakkimizda"
|
||||
href={`/${lang}/hakkimizda`}
|
||||
className="inline-flex items-center gap-2 text-dark font-bold text-sm tracking-wide group"
|
||||
>
|
||||
<span className="border-b-2 border-accent pb-0.5">Hikayemizi Okuyun</span>
|
||||
<span className="border-b-2 border-accent pb-0.5">
|
||||
{lang === "en" ? "Read Our Story" : "Hikayemizi Okuyun"}
|
||||
</span>
|
||||
<ArrowRight className="w-4 h-4 group-hover:translate-x-1.5 transition-transform" />
|
||||
</Link>
|
||||
</ScrollReveal>
|
||||
@@ -346,6 +368,7 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
src={room.img}
|
||||
alt={room.name}
|
||||
fill
|
||||
sizes="(max-width: 768px) 100vw, 33vw"
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-700"
|
||||
/>
|
||||
<span className={`absolute top-4 left-4 text-[10px] font-bold px-3 py-1.5 rounded-full tracking-wider uppercase ${room.badgeStyle} backdrop-blur-sm`}>
|
||||
@@ -396,15 +419,17 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
<ScrollReveal className="flex flex-col md:flex-row md:items-end md:justify-between gap-6 mb-10">
|
||||
<div>
|
||||
<span className="inline-block text-accent text-xs tracking-[0.25em] uppercase font-semibold mb-4">
|
||||
Ne Yapacaksınız?
|
||||
{lang === "en" ? "What Will You Do?" : "Ne Yapacaksınız?"}
|
||||
</span>
|
||||
<h2 className="font-serif text-5xl font-bold text-dark">Aktiviteler</h2>
|
||||
<h2 className="font-serif text-5xl font-bold text-dark">
|
||||
{lang === "en" ? "Activities" : "Aktiviteler"}
|
||||
</h2>
|
||||
</div>
|
||||
<Link
|
||||
href="/aktiviteler"
|
||||
href={`/${lang}/aktiviteler`}
|
||||
className="inline-flex items-center gap-2 text-sm font-semibold text-primary hover:text-accent transition-colors"
|
||||
>
|
||||
Tümünü Gör <ArrowRight className="w-4 h-4" />
|
||||
{lang === "en" ? "See All" : "Tümünü Gör"} <ArrowRight className="w-4 h-4" />
|
||||
</Link>
|
||||
</ScrollReveal>
|
||||
|
||||
@@ -417,7 +442,7 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
className={i === 0 || i === 3 ? "md:col-span-2" : ""}
|
||||
delay={i * 50}
|
||||
>
|
||||
<Link href="/aktiviteler" className={`group relative block rounded-3xl overflow-hidden ${activities.length === 1 ? "aspect-[4/3] md:aspect-video" : i < 2 ? "h-[400px]" : "h-[280px]"}`}>
|
||||
<Link href={`/${lang}/aktiviteler`} className={`group relative block rounded-3xl overflow-hidden ${activities.length === 1 ? "aspect-[4/3] md:aspect-video" : i < 2 ? "h-[400px]" : "h-[280px]"}`}>
|
||||
<Image
|
||||
src={act.image}
|
||||
alt={act.title}
|
||||
@@ -446,7 +471,9 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
</ScrollReveal>
|
||||
))
|
||||
) : (
|
||||
<div className="md:col-span-3 py-10 text-center text-gray-500">Henüz aktivite eklenmedi.</div>
|
||||
<div className="md:col-span-3 py-10 text-center text-gray-500">
|
||||
{lang === "en" ? "No activities added yet." : "Henüz aktivite eklenmedi."}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
@@ -464,15 +491,17 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
<ScrollReveal className="flex flex-col md:flex-row md:items-end md:justify-between gap-6 mb-16">
|
||||
<div>
|
||||
<span className="inline-block text-accent text-xs tracking-[0.25em] uppercase font-semibold mb-4">
|
||||
Takvim
|
||||
{lang === "en" ? "Calendar" : "Takvim"}
|
||||
</span>
|
||||
<h2 className="font-serif text-5xl font-bold">Etkinlikler</h2>
|
||||
<h2 className="font-serif text-5xl font-bold">
|
||||
{lang === "en" ? "Events" : "Etkinlikler"}
|
||||
</h2>
|
||||
</div>
|
||||
<Link
|
||||
href="/etkinlikler"
|
||||
href={`/${lang}/etkinlikler`}
|
||||
className="inline-flex items-center gap-2 text-sm font-semibold text-white/70 hover:text-white transition-colors border border-white/20 hover:border-white px-6 py-2.5 rounded-full"
|
||||
>
|
||||
Tüm Etkinlikler <ArrowRight className="w-4 h-4" />
|
||||
{lang === "en" ? "All Events" : "Tüm Etkinlikler"} <ArrowRight className="w-4 h-4" />
|
||||
</Link>
|
||||
</ScrollReveal>
|
||||
|
||||
@@ -511,16 +540,18 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
</span>
|
||||
</div>
|
||||
<Link
|
||||
href="/etkinlikler"
|
||||
href={`/${lang}/etkinlikler`}
|
||||
className="inline-flex items-center gap-2 text-xs font-bold tracking-widest uppercase text-accent hover:text-white transition-colors w-max"
|
||||
>
|
||||
Detayları İncele <ArrowRight className="w-4 h-4" />
|
||||
{lang === "en" ? "View Details" : "Detayları İncele"} <ArrowRight className="w-4 h-4" />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
))
|
||||
) : (
|
||||
<div className="py-10 text-center text-white/50">Henüz etkinlik eklenmedi.</div>
|
||||
<div className="py-10 text-center text-white/50">
|
||||
{lang === "en" ? "No events added yet." : "Henüz etkinlik eklenmedi."}
|
||||
</div>
|
||||
)}
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
@@ -571,7 +602,7 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
rel="noreferrer"
|
||||
className="inline-flex items-center gap-2 border-2 border-dark text-dark text-xs px-8 py-3.5 rounded-full font-bold uppercase tracking-widest hover:bg-dark hover:text-white transition-colors"
|
||||
>
|
||||
Bizi Takip Edin
|
||||
{lang === "en" ? "Follow Us" : "Bizi Takip Edin"}
|
||||
<ArrowRight className="w-3.5 h-3.5" />
|
||||
</a>
|
||||
</div>
|
||||
@@ -586,13 +617,15 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<ScrollReveal className="text-center mb-16">
|
||||
<span className="inline-block text-accent text-xs tracking-[0.25em] uppercase font-semibold mb-4">
|
||||
Misafir Yorumları
|
||||
{lang === "en" ? "Guest Reviews" : "Misafir Yorumları"}
|
||||
</span>
|
||||
<h2 className="font-serif text-5xl font-bold text-dark">Deneyimler</h2>
|
||||
<h2 className="font-serif text-5xl font-bold text-dark">
|
||||
{lang === "en" ? "Experiences" : "Deneyimler"}
|
||||
</h2>
|
||||
</ScrollReveal>
|
||||
|
||||
<ScrollReveal stagger className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
{testimonials.map((t, i) => (
|
||||
{displayTestimonials.map((t, i) => (
|
||||
<div key={i} className="relative bg-sand rounded-2xl p-8 border border-sand overflow-hidden">
|
||||
{/* Large decorative quote */}
|
||||
<span className="absolute top-3 right-5 font-serif text-[8rem] leading-none text-primary/8 select-none">
|
||||
@@ -638,6 +671,7 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
src="https://images.unsplash.com/photo-1498623116890-37e912163d5d?q=80&w=2940&auto=format&fit=crop"
|
||||
alt=""
|
||||
fill
|
||||
sizes="100vw"
|
||||
className="object-cover"
|
||||
/>
|
||||
</div>
|
||||
@@ -645,13 +679,19 @@ export default async function Home({ params }: { params: Promise<{ lang: string
|
||||
<div className="relative z-10 max-w-3xl mx-auto px-4 text-center">
|
||||
<ScrollReveal>
|
||||
<span className="inline-block text-accent text-xs tracking-[0.3em] uppercase font-semibold mb-6">
|
||||
Hemen Başlayın
|
||||
{lang === "en" ? "Get Started" : "Hemen Başlayın"}
|
||||
</span>
|
||||
<h2 className="font-serif text-5xl md:text-6xl font-bold text-white leading-tight mb-6">
|
||||
Hayalindeki tatili<br />planlamaya hazır mısın?
|
||||
{lang === "en" ? (
|
||||
<>Are you ready to plan<br />your dream vacation?</>
|
||||
) : (
|
||||
<>Hayalindeki tatili<br />planlamaya hazır mısın?</>
|
||||
)}
|
||||
</h2>
|
||||
<p className="text-white/50 mb-10 text-base leading-relaxed">
|
||||
Rüzgar seni çağırıyor. Hemen yerini ayırt ve bu eşsiz deneyimin bir parçası ol.
|
||||
{lang === "en"
|
||||
? "The wind is calling you. Book your spot now and become a part of this unique experience."
|
||||
: "Rüzgar seni çağırıyor. Hemen yerini ayırt ve bu eşsiz deneyimin bir parçası ol."}
|
||||
</p>
|
||||
|
||||
</ScrollReveal>
|
||||
|
||||
Reference in New Issue
Block a user