diff --git a/app/aktiviteler/page.tsx b/app/aktiviteler/page.tsx
new file mode 100644
index 0000000..118ea40
--- /dev/null
+++ b/app/aktiviteler/page.tsx
@@ -0,0 +1,170 @@
+import Image from "next/image";
+import Link from "next/link";
+import { ArrowRight, Clock, Users } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+const activities = [
+ {
+ img: "https://images.unsplash.com/photo-1533000756353-909d73d2a3c7?q=80&w=2940&auto=format&fit=crop",
+ tag: "IKO Sertifikalı",
+ tagColor: "bg-accent text-white",
+ name: "Kitesurf Okulu",
+ desc: "Akyaka'nın meşhur termal rüzgarında kitesurf yapmayı öğrenin. IKO sertifikalı eğitmenlerimizle başlangıç, orta ve ileri seviye ders seçenekleri sunuyoruz.",
+ duration: "2–4 Saat",
+ capacity: "1–3 Kişi",
+ price: "₺2.000",
+ unit: "Saat",
+ levels: ["Başlangıç", "Orta", "İleri"],
+ },
+ {
+ img: "https://images.unsplash.com/photo-1599901860904-17e08627c271?q=80&w=2940&auto=format&fit=crop",
+ tag: "Açık Hava",
+ tagColor: "bg-primary text-white",
+ name: "Yoga Seansları",
+ desc: "Nehir kıyısındaki özel ahşap platformumuzda güne yoga ile başlayın. Hafıza seansları, sunset yoga ve özel birebir dersler mevcuttur.",
+ duration: "60–90 Dak",
+ capacity: "Grup / Özel",
+ price: "₺400",
+ unit: "Kişi",
+ levels: ["Tüm Seviyeler"],
+ },
+ {
+ img: "https://images.unsplash.com/photo-1544606771-46abcf9dbb83?q=80&w=2924&auto=format&fit=crop",
+ tag: "Ekipman Dahil",
+ tagColor: "bg-dark text-white",
+ name: "Stand-Up Paddle (SUP)",
+ desc: "Azmak nehrinin berrak ve sakin sularında kürek çekerek doğanın gizli güzelliklerini keşfedin. Ekipman kiralama ve rehberli tur seçenekleri mevcuttur.",
+ duration: "1–3 Saat",
+ capacity: "Bireysel",
+ price: "₺300",
+ unit: "Saat",
+ levels: ["Kolay"],
+ },
+ {
+ img: "https://images.unsplash.com/photo-1511994298241-608e28f14fde?q=80&w=2940&auto=format&fit=crop",
+ tag: "Günlük Tur",
+ tagColor: "bg-primary text-white",
+ name: "Bisiklet Kiralama",
+ desc: "Akyaka'nın çam ormanları arasındaki yollarını ve mimarisiyle ünlü sokaklarını bisikletle gezin. Günlük ve saatlik kiralama seçenekleri ile rotaları keşfedin.",
+ duration: "Tam Gün",
+ capacity: "Bireysel / Grup",
+ price: "₺250",
+ unit: "Gün",
+ levels: ["Kolay"],
+ },
+];
+
+export default function AktivitelerPage() {
+ return (
+
+
+ {/* Page Header */}
+
+
+
+
+ Deneyimler
+
+
+ Aktiviteler
+
+
+ Rüzgarı hisset, doğayla bir ol.
+
+
+
+
+ {/* Activities */}
+
+
+ {activities.map((act, i) => (
+
+
+
+
+
+ {act.tag}
+
+
+
+
+
{act.name}
+
{act.desc}
+
+ {/* Meta */}
+
+
+
+ {act.duration}
+
+
+
+ {act.capacity}
+
+
+
+ {/* Levels */}
+
+ {act.levels.map((level) => (
+
+ {level}
+
+ ))}
+
+
+
+
+ {act.price}
+ / {act.unit}
+
+
+ Bilgi Al
+
+
+
+
+
+
+ ))}
+
+
+
+ {/* CTA */}
+
+
+
+ Özel Paket Teklifi Al
+
+
+ Kitesurf + konaklama veya yoga + SUP gibi özel aktivite paketleri için bizimle iletişime geçin.
+
+
+ İletişime Geç
+
+
+
+
+ );
+}
diff --git a/app/etkinlikler/page.tsx b/app/etkinlikler/page.tsx
new file mode 100644
index 0000000..c49862c
--- /dev/null
+++ b/app/etkinlikler/page.tsx
@@ -0,0 +1,179 @@
+import Image from "next/image";
+import Link from "next/link";
+import { ArrowRight, Calendar, Clock, MapPin, Music } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+const events = [
+ {
+ id: "mahmut-orhan",
+ title: "Mahmut Orhan - Sunset Session",
+ date: "15 Ağustos 2026",
+ time: "18:00 - 23:30",
+ location: "Kite Beach Akyaka, Beach Club",
+ category: "Elektronik Müzik / DJ Performans",
+ price: "Biletler Yakında",
+ image: "https://images.unsplash.com/photo-1540039155732-680c74f07599?q=80&w=2832&auto=format&fit=crop",
+ description: "Dünyaca ünlü DJ Mahmut Orhan, unutulmaz bir gün batımı performansı için Kite Beach Akyaka'da! Ege'nin muhteşem manzarasına karşı elektronik müziğin ritmini hissedeceğiniz bu özel geceyi kaçırmayın. Bilet detayları çok yakında açıklanacaktır.",
+ featured: true,
+ },
+ {
+ id: "kite-festival",
+ title: "Akyaka Kitesurf Festivali '26",
+ date: "20-22 Eylül 2026",
+ time: "Tüm Gün",
+ location: "Kite Beach Sahili",
+ category: "Spor & Festival",
+ price: "Ücretsiz Katılım",
+ image: "https://images.unsplash.com/photo-1533000756353-909d73d2a3c7?q=80&w=2940&auto=format&fit=crop",
+ description: "Geleneksel Kitesurf festivalimiz bu yıl daha da büyük! Profesyonel yarışçılar, amatör denemeler, gün boyu müzik ve sahil etkinlikleri ile rüzgarın tadını çıkarın.",
+ featured: false,
+ },
+ {
+ id: "yoga-retreat",
+ title: "Dolunay Yoga & Meditasyon",
+ date: "28 Ekim 2026",
+ time: "19:00 - 21:00",
+ location: "Nehir Platformu",
+ category: "Wellness",
+ price: "₺450",
+ image: "https://images.unsplash.com/photo-1599901860904-17e08627c271?q=80&w=2940&auto=format&fit=crop",
+ description: "Dolunayın büyüleyici enerjisinde, Azmak Nehri'nin sessizliğinde özel bir yoga ve ses banyosu meditasyonu. Tüm seviyeler için uygundur. Matlar tarafımızdan temin edilir.",
+ featured: false,
+ }
+];
+
+export const metadata = {
+ title: "Etkinlikler | Kite Beach Akyaka",
+ description: "Mahmut Orhan konserinden Kitesurf festivallerine, Akyaka'daki en özel etkinlikler ve gün batımı partileri.",
+};
+
+export default function EventsPage() {
+ return (
+
+
+ {/* ──────────────────────────────────────────
+ HERO
+ ────────────────────────────────────────── */}
+
+
+
+
+
+
+ Kite Beach Akyaka
+
+
+ Etkinlikler
+
+
+ Müzik, spor ve doğanın iç içe geçtiği unutulmaz deneyimler.
+
+
+
+
+
+ {/* ──────────────────────────────────────────
+ EVENTS LIST
+ ────────────────────────────────────────── */}
+
+
+
+
+ {events.map((event, index) => (
+
+
+
+ {/* Image Container */}
+
+
+ {event.featured && (
+
+
+ Öne Çıkan
+
+ )}
+
+
+ {/* Content Container */}
+
+
+ {event.category}
+
+
+ {event.title}
+
+
+
+
+
+ {event.date}
+
+
+
+ {event.time}
+
+
+
+ {event.location}
+
+
+
+
+ {event.description}
+
+
+
+
{event.price}
+
+ Bilet / Bilgi
+
+
+
+
+
+
+ ))}
+
+
+
+
+
+ {/* CTA BAND */}
+
+
+ Organizasyon
+ Kendi Etkinliğinizi Planlayın
+
+ Özel partiler, düğünler veya kurumsal etkinlikler için Kite Beach Akyaka'nın eşsiz atmosferini kiralayabilirsiniz. Detaylar için bizimle iletişime geçin.
+
+
+ Bize Ulaşın
+
+
+
+
+
+ );
+}
diff --git a/app/galeri/page.tsx b/app/galeri/page.tsx
new file mode 100644
index 0000000..001e0f8
--- /dev/null
+++ b/app/galeri/page.tsx
@@ -0,0 +1,115 @@
+"use client";
+
+import Image from "next/image";
+import { useState } from "react";
+
+const filters = ["Tümü", "Odalar", "Aktiviteler", "Restoran", "Doğa"] as const;
+type Filter = (typeof filters)[number];
+
+const gallery: { src: string; alt: string; category: Exclude }[] = [
+ { src: "https://images.unsplash.com/photo-1582719478250-c89404bb8a0e?q=80&w=2940&auto=format&fit=crop", alt: "Standart Oda", category: "Odalar" },
+ { src: "https://images.unsplash.com/photo-1533000756353-909d73d2a3c7?q=80&w=2940&auto=format&fit=crop", alt: "Kitesurf", category: "Aktiviteler" },
+ { src: "https://images.unsplash.com/photo-1544551763-46a013bb70d5?q=80&w=2940&auto=format&fit=crop", alt: "Nehir Doğa", category: "Doğa" },
+ { src: "https://images.unsplash.com/photo-1566665797739-1674de7a421a?q=80&w=2874&auto=format&fit=crop", alt: "Nehir Manzaralı Oda",category: "Odalar" },
+ { src: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?q=80&w=2940&auto=format&fit=crop", alt: "Restoran", category: "Restoran" },
+ { src: "https://images.unsplash.com/photo-1599901860904-17e08627c271?q=80&w=2940&auto=format&fit=crop", alt: "Yoga", category: "Aktiviteler" },
+ { src: "https://images.unsplash.com/photo-1499955085172-a104c9463ece?q=80&w=2940&auto=format&fit=crop", alt: "Bungalow", category: "Odalar" },
+ { src: "https://images.unsplash.com/photo-1544606771-46abcf9dbb83?q=80&w=2924&auto=format&fit=crop", alt: "SUP", category: "Aktiviteler" },
+ { src: "https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?q=80&w=2940&auto=format&fit=crop", alt: "Kahvaltı", category: "Restoran" },
+ { src: "https://images.unsplash.com/photo-1511994298241-608e28f14fde?q=80&w=2940&auto=format&fit=crop", alt: "Bisiklet", category: "Aktiviteler" },
+ { src: "https://images.unsplash.com/photo-1544148103-0773bf10d330?q=80&w=2940&auto=format&fit=crop", alt: "Restoran Ambiyans", category: "Restoran" },
+ { src: "https://images.unsplash.com/photo-1498623116890-37e912163d5d?q=80&w=2940&auto=format&fit=crop", alt: "Gün Batımı", category: "Doğa" },
+];
+
+export default function GaleriPage() {
+ const [active, setActive] = useState("Tümü");
+ const [lightbox, setLightbox] = useState(null);
+
+ const filtered =
+ active === "Tümü" ? gallery : gallery.filter((g) => g.category === active);
+
+ return (
+
+
+
+ {/* Heading */}
+
+
+ Fotoğraflar
+
+
Galeri
+
+ Kite Beach Akyaka'nın eşsiz doğasını, modern odalarını ve heyecan verici aktivitelerini keşfedin.
+
+
+
+ {/* Filter tabs */}
+
+ {filters.map((f) => (
+ setActive(f)}
+ className={`px-6 py-2.5 rounded-full text-[12px] font-bold tracking-wider uppercase transition-all duration-300 ${
+ active === f
+ ? "bg-primary text-white shadow-md shadow-primary/20"
+ : "bg-white text-dark border border-sand hover:border-primary/40 hover:text-primary"
+ }`}
+ >
+ {f}
+
+ ))}
+
+
+ {/* Grid */}
+
+ {filtered.map((img, idx) => (
+
setLightbox(img.src)}
+ style={{ animation: `scale-in 0.4s cubic-bezier(0.16,1,0.3,1) ${idx * 40}ms both` }}
+ >
+
+
+ ))}
+
+
+
+
+ {/* Lightbox */}
+ {lightbox && (
+
setLightbox(null)}
+ >
+
+
+
+
setLightbox(null)}
+ >
+ ×
+
+
+ )}
+
+ );
+}
diff --git a/app/globals.css b/app/globals.css
index a2dc41e..739daea 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -1,26 +1,218 @@
@import "tailwindcss";
:root {
- --background: #ffffff;
- --foreground: #171717;
+ --background: #F5EDD6;
+ --foreground: #1C1C1C;
+ --primary: #1A6B8A;
+ --accent: #E87040;
+ --card: #FFFFFF;
+ --dark: #0E1A24;
+ --sand: #FBF6EC;
+ --muted: #9A9490;
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
- --font-sans: var(--font-geist-sans);
- --font-mono: var(--font-geist-mono);
+ --color-primary: var(--primary);
+ --color-accent: var(--accent);
+ --color-card: var(--card);
+ --color-dark: var(--dark);
+ --color-sand: var(--sand);
+ --color-muted: var(--muted);
+
+ --font-sans: var(--font-inter);
+ --font-serif: var(--font-playfair);
}
-@media (prefers-color-scheme: dark) {
- :root {
- --background: #0a0a0a;
- --foreground: #ededed;
- }
+*, *::before, *::after {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
body {
background: var(--background);
color: var(--foreground);
- font-family: Arial, Helvetica, sans-serif;
+ font-family: var(--font-sans), sans-serif;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: var(--font-serif), serif;
+}
+
+/* =====================
+ KEYFRAME ANIMATIONS
+ ===================== */
+
+@keyframes shimmer-pass {
+ 0% { left: -100%; }
+ 100% { left: 200%; }
+}
+
+@keyframes float-y {
+ 0%, 100% { transform: translateY(0); }
+ 50% { transform: translateY(-10px); }
+}
+
+@keyframes gradient-pan {
+ 0% { background-position: 0% 50%; }
+ 50% { background-position: 100% 50%; }
+ 100% { background-position: 0% 50%; }
+}
+
+@keyframes scroll-bounce {
+ 0%, 100% { transform: translateY(0); opacity: 0.9; }
+ 55% { transform: translateY(8px); opacity: 0.3; }
+}
+
+@keyframes fade-up {
+ from { opacity: 0; transform: translateY(28px); }
+ to { opacity: 1; transform: translateY(0); }
+}
+
+@keyframes fade-in {
+ from { opacity: 0; }
+ to { opacity: 1; }
+}
+
+@keyframes scale-in {
+ from { opacity: 0; transform: scale(0.94); }
+ to { opacity: 1; transform: scale(1); }
+}
+
+@keyframes line-grow {
+ from { transform: scaleX(0); }
+ to { transform: scaleX(1); }
+}
+
+/* =====================
+ ANIMATION UTILITIES
+ ===================== */
+
+.animate-fade-up {
+ animation: fade-up 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
+}
+
+.animate-fade-in {
+ animation: fade-in 1s ease both;
+}
+
+.animate-scale-in {
+ animation: scale-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
+}
+
+.animate-float {
+ animation: float-y 5s ease-in-out infinite;
+}
+
+.animate-gradient-pan {
+ background-size: 400% 400%;
+ animation: gradient-pan 10s ease infinite;
+}
+
+.animate-scroll-bounce {
+ animation: scroll-bounce 2s ease-in-out infinite;
+}
+
+.delay-100 { animation-delay: 0.1s; }
+.delay-200 { animation-delay: 0.2s; }
+.delay-300 { animation-delay: 0.3s; }
+.delay-400 { animation-delay: 0.4s; }
+.delay-500 { animation-delay: 0.5s; }
+.delay-600 { animation-delay: 0.6s; }
+.delay-700 { animation-delay: 0.7s; }
+.delay-800 { animation-delay: 0.8s; }
+
+/* =====================
+ SCROLL REVEAL
+ ===================== */
+
+.reveal {
+ opacity: 0;
+ transform: translateY(32px);
+ transition:
+ opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
+ transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
+}
+
+.reveal.visible {
+ opacity: 1;
+ transform: translateY(0);
+}
+
+.reveal-stagger > * {
+ opacity: 0;
+ transform: translateY(24px);
+ transition:
+ opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
+ transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
+}
+
+.reveal-stagger.visible > *:nth-child(1) { opacity:1; transform:translateY(0); transition-delay:0s; }
+.reveal-stagger.visible > *:nth-child(2) { opacity:1; transform:translateY(0); transition-delay:0.1s; }
+.reveal-stagger.visible > *:nth-child(3) { opacity:1; transform:translateY(0); transition-delay:0.2s; }
+.reveal-stagger.visible > *:nth-child(4) { opacity:1; transform:translateY(0); transition-delay:0.3s; }
+.reveal-stagger.visible > *:nth-child(5) { opacity:1; transform:translateY(0); transition-delay:0.4s; }
+
+/* =====================
+ SHIMMER BUTTON
+ ===================== */
+
+.btn-shimmer {
+ position: relative;
+ overflow: hidden;
+}
+
+.btn-shimmer::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 55%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(255, 255, 255, 0.28),
+ transparent
+ );
+ transform: skewX(-15deg);
+ animation: shimmer-pass 3.5s ease-in-out infinite;
+}
+
+/* =====================
+ CARD LIFT HOVER
+ ===================== */
+
+.card-lift {
+ transition:
+ transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
+ box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
+}
+
+.card-lift:hover {
+ transform: translateY(-6px);
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.1);
+}
+
+/* =====================
+ GRADIENT TEXT
+ ===================== */
+
+.gradient-text {
+ background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
+}
+
+/* =====================
+ SECTION DIVIDER
+ ===================== */
+
+.section-line {
+ width: 48px;
+ height: 3px;
+ background: var(--accent);
+ border-radius: 999px;
}
diff --git a/app/hakkimizda/page.tsx b/app/hakkimizda/page.tsx
new file mode 100644
index 0000000..4a9d3a4
--- /dev/null
+++ b/app/hakkimizda/page.tsx
@@ -0,0 +1,155 @@
+import Image from "next/image";
+import { Leaf, ChefHat, Award } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+const values = [
+ {
+ icon: Leaf,
+ title: "Doğaya Saygı",
+ desc: "Tesisimizdeki tüm süreçlerde sıfır atık ve sürdürülebilirlik ilkelerini benimsiyoruz. Geleceğe duyarlı bir konaklama deneyimi sunuyoruz.",
+ },
+ {
+ icon: ChefHat,
+ title: "Lokal Mutfak",
+ desc: "Malzemelerimizin büyük bir bölümünü yerel üreticilerden ve Ege köylerinden temin ediyoruz. Taze, mevsimsel ve sürdürülebilir.",
+ },
+ {
+ icon: Award,
+ title: "Premium Deneyim",
+ desc: "IKO sertifikalı kitesurf okulumuzdandan odalarımıza kadar her noktada en yüksek kalite standartlarını sunuyoruz.",
+ },
+];
+
+const stats = [
+ { value: "10+", label: "Yıllık Deneyim" },
+ { value: "500+", label: "Mutlu Misafir" },
+ { value: "3", label: "IKO Sertifikalı Eğitmen" },
+ { value: "4", label: "Benzersiz Aktivite" },
+];
+
+export default function HakkimizdaPage() {
+ return (
+
+
+ {/* Page Header */}
+
+
+
+
+ Biz Kimiz
+
+
+ Hikayemiz
+
+
+ Rüzgarın, denizin ve nehrin kesiştiği yerde.
+
+
+
+
+ {/* Story */}
+
+
+
+
+
+ Akyaka'nın Kalbinde
+
+
+ Bir Tutku Yolculuğu
+
+
+
+ Kite Beach Akyaka, Gökova Körfezi'nin kristal sularına dökülen Azmak Nehri'nin
+ hemen kıyısında doğdu. Amacımız, misafirlerimize sıradan bir konaklamadan çok
+ daha fazlasını sunmak; rüzgar sörfü tutkusunu doğayla, konforla ve iyi yemekle
+ bütünleştiren eşsiz bir yaşam alanı yaratmaktı.
+
+
+ Doğaya saygılı mimarimiz, lokal üreticileri destekleyen mutfağımız ve IKO
+ standartlarındaki eğitim merkezimizle, Akyaka'nın sürdürülebilir turizm yüzü
+ olmayı hedefliyoruz.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* Stats */}
+
+
+
+ {stats.map((s, i) => (
+
+ {s.value}
+ {s.label}
+
+ ))}
+
+
+
+
+ {/* Values */}
+
+
+
+
+ Ne İnanıyoruz
+
+ Değerlerimiz
+
+
+
+ {values.map((v, i) => {
+ const Icon = v.icon;
+ return (
+
+
+
+
+
{v.title}
+
{v.desc}
+
+ );
+ })}
+
+
+
+
+ {/* Vision */}
+
+
+
+
+ Vizyonumuz
+
+
+ "Akyaka'nın sürdürülebilir turizm yüzü olmak ve her misafirimize benzersiz bir kaçış sunmak."
+
+
+
+
+
+
+ );
+}
diff --git a/app/iletisim/page.tsx b/app/iletisim/page.tsx
new file mode 100644
index 0000000..ffb1cef
--- /dev/null
+++ b/app/iletisim/page.tsx
@@ -0,0 +1,178 @@
+import { MapPin, Phone, Mail, Clock } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+export default function IletisimPage() {
+ return (
+
+
+
+ {/* Heading */}
+
+
+ Bize Ulaşın
+
+
+ İletişim & Rezervasyon
+
+
+ Sorularınız veya rezervasyon talepleriniz için bizimle iletişime geçin.
+ Ekibimiz en kısa sürede dönüş yapacaktır.
+
+
+
+
+
+ {/* Form — takes 3 cols */}
+
+
+
+
+ {/* Sidebar — takes 2 cols */}
+
+
+ {/* Contact info card */}
+
+
İletişim Bilgileri
+
+ {[
+ {
+ icon: MapPin,
+ label: "Adres",
+ value: "Akyaka Mahallesi, Akçapınar Mevkii, Muğla",
+ href: undefined,
+ },
+ {
+ icon: Phone,
+ label: "Telefon / WhatsApp",
+ value: "+90 533 081 6181",
+ href: "tel:+905330816181",
+ },
+ {
+ icon: Mail,
+ label: "E-posta",
+ value: "info@kitebeachakyaka.com.tr",
+ href: "mailto:info@kitebeachakyaka.com.tr",
+ },
+ {
+ icon: Clock,
+ label: "Resepsiyon",
+ value: "Her gün 08:00 – 22:00",
+ href: undefined,
+ },
+ ].map(({ icon: Icon, label, value, href }) => (
+
+
+
+
+
+
+ {label}
+
+ {href ? (
+
+ {value}
+
+ ) : (
+
{value}
+ )}
+
+
+ ))}
+
+
+
+ {/* Map */}
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/app/layout.tsx b/app/layout.tsx
index 976eb90..f8c9d80 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,20 +1,23 @@
import type { Metadata } from "next";
-import { Geist, Geist_Mono } from "next/font/google";
+import { Inter, Playfair_Display } from "next/font/google";
import "./globals.css";
+import Navbar from "@/components/Navbar";
+import Footer from "@/components/Footer";
+import WhatsAppButton from "@/components/WhatsAppButton";
-const geistSans = Geist({
- variable: "--font-geist-sans",
+const inter = Inter({
+ variable: "--font-inter",
subsets: ["latin"],
});
-const geistMono = Geist_Mono({
- variable: "--font-geist-mono",
+const playfair = Playfair_Display({
+ variable: "--font-playfair",
subsets: ["latin"],
});
export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
+ title: "Kite Beach Akyaka | Kitesurf & Butik Otel",
+ description: "Nehrin huzuru, denizin enerjisi — tek bir noktada. Kite Beach Akyaka butik otel ve kitesurf merkezine hoş geldiniz.",
};
export default function RootLayout({
@@ -24,10 +27,15 @@ export default function RootLayout({
}>) {
return (
- {children}
+
+
+ {children}
+
+
+
);
}
diff --git a/app/odalar/page.tsx b/app/odalar/page.tsx
new file mode 100644
index 0000000..d835291
--- /dev/null
+++ b/app/odalar/page.tsx
@@ -0,0 +1,160 @@
+import Image from "next/image";
+import Link from "next/link";
+import { Check, Wifi, Wind, Coffee, Eye, Trees } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+const rooms = [
+ {
+ img: "https://images.unsplash.com/photo-1582719478250-c89404bb8a0e?q=80&w=2940&auto=format&fit=crop",
+ tag: "Standart",
+ name: "Standart Oda",
+ desc: "Konforlu ve modern tasarımlı standart odalarımızda rahatlığın tadını çıkarın. Çift kişilik yatak ve şık dekorasyon ile dinlendirici bir atmosfer.",
+ sqm: "20 m²",
+ price: "₺4.500",
+ features: [
+ { icon: Wifi, label: "Ücretsiz Wi-Fi" },
+ { icon: Wind, label: "Klima" },
+ { icon: Coffee, label: "Minibar" },
+ { icon: Eye, label: "Bahçe Manzarası" },
+ ],
+ reversed: false,
+ },
+ {
+ img: "https://images.unsplash.com/photo-1566665797739-1674de7a421a?q=80&w=2874&auto=format&fit=crop",
+ tag: "Popüler",
+ name: "Nehir Manzaralı Oda",
+ desc: "Güne Azmak nehrinin eşsiz manzarası eşliğinde uyanacağınız ferah odalar. Balkonunuzda sabah kahvenizi yudumlarken doğanın sesini dinleyin.",
+ sqm: "25 m²",
+ price: "₺5.500",
+ features: [
+ { icon: Eye, label: "Nehir Manzarası" },
+ { icon: Trees, label: "Özel Balkon" },
+ { icon: Coffee, label: "Nespresso Makinesi" },
+ { icon: Wifi, label: "Ücretsiz Wi-Fi" },
+ ],
+ reversed: true,
+ },
+ {
+ img: "https://images.unsplash.com/photo-1499955085172-a104c9463ece?q=80&w=2940&auto=format&fit=crop",
+ tag: "Premium",
+ name: "Ahşap Bungalow",
+ desc: "Doğayla tamamen iç içe, bağımsız girişli ve teraslı ahşap tasarımlı yaşam alanı. Gizlilik ve huzur arayan çiftler için ideal.",
+ sqm: "35 m²",
+ price: "₺7.000",
+ features: [
+ { icon: Trees, label: "Özel Teras" },
+ { icon: Eye, label: "Doğa Manzarası" },
+ { icon: Coffee, label: "Premium İkramlar" },
+ { icon: Wind, label: "Klima" },
+ ],
+ reversed: false,
+ },
+];
+
+export default function OdalarPage() {
+ return (
+
+
+ {/* Page Header */}
+
+
+
+
+ Konaklama
+
+
+ Odalarımız
+
+
+ Doğanın içinde, konforlu bir mola.
+
+
+
+
+ {/* Room Listings */}
+
+
+ {rooms.map((room, i) => (
+
+
+ {/* Image */}
+
+
+ {/* Tag */}
+
+ {room.tag}
+
+
+
+ {/* Content */}
+
+
{room.sqm}
+
{room.name}
+
{room.desc}
+
+
+ {room.features.map(({ icon: Icon, label }, j) => (
+
+ ))}
+
+
+
+
+ Gecelik
+ {room.price}
+
+
+ Rezervasyon Yap
+
+
+
+
+
+ ))}
+
+
+
+ {/* Info strip */}
+
+
+
+ Tüm odalarda dahil olanlar
+
+
+ {["Organik Serpme Kahvaltı", "Ücretsiz Otopark", "Plaj & Nehir Erişimi", "Şezlong & Havlu", "Wi-Fi", "24/7 Resepsiyon"].map((item) => (
+
+
+ {item}
+
+ ))}
+
+
+
+
+ );
+}
diff --git a/app/page.tsx b/app/page.tsx
index 3f36f7c..fd1eadc 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,65 +1,533 @@
import Image from "next/image";
+import Link from "next/link";
+import { ArrowRight, Wind, Anchor, Utensils, BedDouble, Sun, Star } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+import HeroVideo from "@/components/HeroVideo";
+
+const features = [
+ { icon: Wind, label: "Kitesurf Okulu", sub: "IKO Sertifikalı" },
+ { icon: Anchor, label: "Yoga Platformu", sub: "Nehir Kenarı" },
+ { icon: Utensils, label: "Restoran & Bar", sub: "Ege Mutfağı" },
+ { icon: BedDouble, label: "Butik Odalar", sub: "3 Tip Konaklama" },
+ { icon: Sun, label: "Gün Batımı Terası", sub: "Gökova Manzarası" },
+];
+
+const rooms = [
+ {
+ img: "https://images.unsplash.com/photo-1582719478250-c89404bb8a0e?q=80&w=2940&auto=format&fit=crop",
+ badge: "Standart",
+ badgeStyle: "bg-white/90 text-dark",
+ name: "Standart Oda",
+ desc: "Konforlu ve modern tasarımlı odamızda huzurlu bir konaklama.",
+ price: "₺4.500",
+ cta: "primary" as const,
+ },
+ {
+ img: "https://images.unsplash.com/photo-1566665797739-1674de7a421a?q=80&w=2874&auto=format&fit=crop",
+ badge: "Popüler",
+ badgeStyle: "bg-accent text-white",
+ name: "Nehir Manzaralı Oda",
+ desc: "Azmak nehrinin eşsiz manzarası eşliğinde güne uyanın.",
+ price: "₺5.500",
+ cta: "accent" as const,
+ },
+ {
+ img: "https://images.unsplash.com/photo-1499955085172-a104c9463ece?q=80&w=2940&auto=format&fit=crop",
+ badge: "Premium",
+ badgeStyle: "bg-white/90 text-dark",
+ name: "Ahşap Bungalow",
+ desc: "Doğayla tamamen iç içe, teraslı ve bağımsız girişli.",
+ price: "₺7.000",
+ cta: "primary" as const,
+ },
+];
+
+const testimonials = [
+ {
+ text: "Akyaka'da pek çok yerde kaldım ama Kite Beach bambaşka bir deneyimdi. Nehrin sesi, kitesurf dersleri ve muhteşem kahvaltı — her şey mükemmeldi.",
+ name: "Ayşe K.",
+ from: "İstanbul",
+ },
+ {
+ text: "Yoga seansları ahşap platformda, sabah erken saatte, nehir manzarası eşliğinde. Kelimelerle anlatmak zor — mutlaka yaşanmalı.",
+ name: "Marco B.",
+ from: "İtalya",
+ },
+ {
+ text: "Eğitmenler son derece ilgili. Kitesurf derslerimden sonra bağımlısı oldum. Önümüzdeki yaz mutlaka döneceğim.",
+ name: "Mehmet Ö.",
+ from: "Ankara",
+ },
+];
export default function Home() {
return (
-
-
-
-
-
- To get started, edit the page.tsx file.
-
-
- Looking for a starting point or more instructions? Head over to{" "}
-
+
+ {/* ──────────────────────────────────────────
+ HERO
+ ────────────────────────────────────────── */}
+
+
+
+ {/* Floating season badge
+
+
+ Sezon
+ Nisan — Ekim
+
+
+ */}
+
+
+
+ Akyaka · Muğla · Türkiye
+
+
+
+
+
- Templates
- {" "}
- or the{" "}
-
- Learning
- {" "}
- center.
+ WELCOME TO
+
+
+ KITE BEACH
+
+
+
+
+ "Nehrin huzuru, denizin enerjisi — tek bir noktada."
+
+
+
+ Rezervasyon Yap
+
+
+ Aktiviteleri Keşfet
+
+
-
-
-
- Deploy Now
-
-
- Documentation
-
+
+ {/* Scroll indicator */}
+
-
+
+
+ {/* ──────────────────────────────────────────
+ FEATURES STRIP
+ ────────────────────────────────────────── */}
+
+
+
+ {features.map(({ icon: Icon, label, sub }, i) => (
+
= 2 ? "hidden md:flex" : ""}`}
+ >
+
+ {label}
+ {sub}
+
+ ))}
+
+
+
+
+ {/* ──────────────────────────────────────────
+ ABOUT
+ ────────────────────────────────────────── */}
+
+
+
+
+
+
+
+
+ {/* Stats card */}
+
+
+
+ 500+
+ Mutlu Misafir
+
+
+ 10+
+ Yıl Deneyim
+
+
+
+ {/* IKO badge */}
+
+
+ IKO
+ Sertifikalı
+
+
+
+
+
+ Hikayemiz
+
+
+ Doğanın Kalbinde
+ Özel Bir Kaçış
+
+
+ Gökova Körfezi'nin kristal sularına dökülen Azmak Nehri'nin hemen kıyısında,
+ rüzgarın hiç eksik olmadığı eşsiz bir konumda yer alıyoruz.
+
+
+ Kite Beach Akyaka; kitesurf tutkusunu doğayla, konforla ve yerel lezzetlerle
+ bütünleştiren benzersiz bir yaşam alanı sunar.
+
+
+
+ Hikayemizi Okuyun
+
+
+
+
+
+
+
+
+ {/* ──────────────────────────────────────────
+ ROOMS
+ ────────────────────────────────────────── */}
+ {/*
+
+
+
+
+ Konaklama
+
+ Kite Beach Akyaka Otel
+
+ Akyaka’nın en güzel köşesinde, nehrin dinginliği ile denizin sonsuz maviliğinin kucaklaştığı o özel noktadayız. Kapınızı açtığınız anda sizi karşılayan nehir kıyısının sessizliği, güne başlamak için en huzurlu davetiniz olacak. Doğanın kalbinde, nehir manzarasına karşı yaptığınız bir yoga seansıyla ruhunuzu dengelerken; hemen ardından Akyaka’nın meşhur rüzgarlarında Kite Surf ile adrenalini zirveye taşıyabilirsiniz. Günün yorgunluğunu ise, restoranımızın mutfağından çıkan lezzetlerle, Ege’nin kendine has o büyüleyici gün batımını izleyerek geride bırakın. Burada zaman, sadece sizin istediğiniz hızda akıyor.
+
+
+
+
+ {rooms.map((room, i) => (
+
+
+
+
+ {room.badge}
+
+
+
+
{room.name}
+
{room.desc}
+
+
+ {room.price}
+ /gece
+
+
+ İncele
+
+
+
+
+ ))}
+
+
+
+
+ Tüm Odaları Gör
+
+
+
+
+
+ */}
+
+ {/* ──────────────────────────────────────────
+ ACTIVITIES — BENTO GRID
+ ────────────────────────────────────────── */}
+
+
+
+
+
+ Ne Yapacaksınız?
+
+
Aktiviteler
+
+
+ Tümünü Gör
+
+
+
+ {/* Bento rows */}
+
+ {/* Row 1 */}
+
+
+
+
+
+
IKO Sertifikalı
+
Kitesurf
+
+ Başlangıçtan ileri seviyeye. Akyaka'nın ünlü termik rüzgarında uçun.
+
+
+ ₺2.000/Saat
+
+
+
+
+
+
+
+
+
+
+
Yoga
+ ₺400/Seans
+
+
+
+
+ {/* Row 2 */}
+
+
+
+
+
+
Stand-Up Paddle
+ ₺300/Saat
+
+
+
+
+
+
+
+
+
+
Bisiklet Kiralama
+ ₺250/Gün · Akyaka Köy Turu
+
+
+
+
+
+
+
+ {/* ──────────────────────────────────────────
+ EVENTS (PREVIEW)
+ ────────────────────────────────────────── */}
+
+ {/* Background glow */}
+
+
+
+
+
+
+
+ Takvim
+
+
Etkinlikler
+
+
+ Tüm Etkinlikler
+
+
+
+
+
+
+
+
+
+
+ Yaklaşan Etkinlik
+
+
Mahmut Orhan - Sunset Session
+
+ Dünyaca ünlü DJ Mahmut Orhan, unutulmaz bir gün batımı performansı için Kite Beach Akyaka'da! Ege'nin muhteşem manzarasına karşı elektronik müziğin ritmini hissedeceğiniz bu özel geceyi kaçırmayın.
+
+
+
+ 15 Ağustos 2026
+
+
+ 18:00
+
+
+ Beach Club
+
+
+
+ Detayları İncele
+
+
+
+
+
+
+
+ {/* ──────────────────────────────────────────
+ TESTIMONIALS
+ ────────────────────────────────────────── */}
+
+
+
+
+ Misafir Yorumları
+
+ Deneyimler
+
+
+
+ {testimonials.map((t, i) => (
+
+ {/* Large decorative quote */}
+
+ "
+
+ {/* Stars */}
+
+ {Array.from({ length: 5 }).map((_, j) => (
+
+ ))}
+
+
+ "{t.text}"
+
+
+
+ {t.name[0]}
+
+
+ {t.name}
+ {t.from}
+
+
+
+ ))}
+
+
+
+
+ {/* ──────────────────────────────────────────
+ CTA BAND
+ ────────────────────────────────────────── */}
+
+
+
+
+
+
+
+
+
+ Hemen Başlayın
+
+
+ Hayalindeki tatili planlamaya hazır mısın?
+
+
+ Rüzgar seni çağırıyor. Hemen yerini ayırt ve bu eşsiz deneyimin bir parçası ol.
+
+
+ Hemen Rezervasyon Yap
+
+
+
+
+
);
}
diff --git a/app/restoran/page.tsx b/app/restoran/page.tsx
new file mode 100644
index 0000000..35838b4
--- /dev/null
+++ b/app/restoran/page.tsx
@@ -0,0 +1,161 @@
+import Image from "next/image";
+import Link from "next/link";
+import { Coffee, Wine, UtensilsCrossed, Clock } from "lucide-react";
+import ScrollReveal from "@/components/ScrollReveal";
+
+const menuCategories = [
+ {
+ icon: Coffee,
+ name: "Serpme Kahvaltı",
+ desc: "Yöresel peynirler, ev yapımı reçeller, organik zeytinyağı ve taze pişmiş köy ekmeği ile güne enerjik başlayın.",
+ hours: "08:30 – 11:30",
+ highlight: "Yöresel Ürünler",
+ },
+ {
+ icon: UtensilsCrossed,
+ name: "Öğle & Akşam",
+ desc: "Günlük taze deniz ürünleri, zeytinyağlı Ege mezeleri ve İtalyan mutfağından seçkin makarnalar ile akşam yemeği.",
+ hours: "12:00 – 23:00",
+ highlight: "Taze Ege Mutfağı",
+ },
+ {
+ icon: Wine,
+ name: "Lounge & Bar",
+ desc: "Gün batımına karşı mixologist'lerimizin hazırladığı imza kokteyller, yerel şaraplar ve Türk rakısı ile keyifli anlar.",
+ hours: "16:00 – 01:00",
+ highlight: "Gün Batımı Manzarası",
+ },
+];
+
+export default function RestoranPage() {
+ return (
+
+
+ {/* Page Header */}
+
+
+
+
+ Lezzetler
+
+
+ Restoran & Bar
+
+
+ Ege lezzetleri ve nehir manzarası.
+
+
+
+
+ {/* Intro */}
+
+
+
+
+ Mutfağımız
+
+
+ Tazeden, Yerelden, Sevgiyle
+
+
+ Şeflerimizin özenle hazırladığı taze Ege mutfağı lezzetleri, organik kahvaltılıklar ve
+ imza kokteyllerimizle Kite Beach Restoran'da günün her saati kendinizi şımartın.
+ Azmak nehrinin hemen kenarında, ahşap terasımızda yemeğinizin tadını çıkarın.
+
+
+
+
+
+ {/* Menu Categories */}
+
+
+
+ {menuCategories.map((cat, i) => {
+ const Icon = cat.icon;
+ return (
+
+
+
+
+
+ {cat.highlight}
+
+
{cat.name}
+
{cat.desc}
+
+
+ {cat.hours}
+
+
+ );
+ })}
+
+
+
+
+ {/* Atmosphere Photos */}
+
+
+ {/* Special Events */}
+
+
+
+
+ Özel Günler
+
+
+ Özel Etkinlikler & Rezervasyonlar
+
+
+ Doğum günü, yıl dönümü veya özel grup yemekleriniz için nehir manzaralı
+ terasımızı rezerve edebilirsiniz. Ekibimiz organizasyonunuzu özel kılmak için burada.
+
+
+ Masa Rezervasyonu Yap
+
+
+
+
+
+ );
+}
diff --git a/components/Footer.tsx b/components/Footer.tsx
new file mode 100644
index 0000000..3ae4a57
--- /dev/null
+++ b/components/Footer.tsx
@@ -0,0 +1,162 @@
+import Link from "next/link";
+import { MapPin, Phone, Mail } from "lucide-react";
+
+const quickLinks = [
+ { name: "Ana Sayfa", href: "/" },
+ { name: "Odalar", href: "/odalar" },
+ { name: "Aktiviteler", href: "/aktiviteler"},
+ { name: "Restoran", href: "/restoran" },
+ { name: "Etkinlikler", href: "/etkinlikler"},
+ { name: "Galeri", href: "/galeri" },
+ { name: "Hakkımızda", href: "/hakkimizda" },
+];
+
+function InstagramIcon() {
+ return (
+
+
+
+
+
+ );
+}
+
+function FacebookIcon() {
+ return (
+
+
+
+ );
+}
+
+function YoutubeIcon() {
+ return (
+
+
+
+
+ );
+}
+
+export default function Footer() {
+ return (
+
+ {/* Top accent line */}
+
+
+
+
+
+ {/* Brand */}
+
+
+
+
+ KITE BEACH
+
+ Akyaka
+
+
+
+ Nehrin huzuru, denizin enerjisi — tek bir noktada. Akyaka'nın kalbinde butik bir kaçış noktası.
+
+ {/* Social icons */}
+
+ {[
+ { icon:
, href: "#", label: "Instagram" },
+ { icon:
, href: "#", label: "Facebook" },
+ { icon:
, href: "#", label: "YouTube" },
+ ].map(({ icon, href, label }) => (
+
+ {icon}
+
+ ))}
+
+
+
+ {/* Quick Links */}
+
+
+ Sayfalar
+
+
+ {quickLinks.map((link) => (
+
+
+ {link.name}
+
+
+ ))}
+
+
+
+ {/* Contact */}
+
+
+
+
+ {/* Bottom bar */}
+
+
+ © 2026 Kite Beach Akyaka. Tüm hakları saklıdır.
+
+
+ {["KVKK", "Gizlilik Politikası", "Çerez Politikası"].map((item) => (
+
+ {item}
+
+ ))}
+
+
+
+
+ );
+}
diff --git a/components/HeroVideo.tsx b/components/HeroVideo.tsx
new file mode 100644
index 0000000..adbcb20
--- /dev/null
+++ b/components/HeroVideo.tsx
@@ -0,0 +1,38 @@
+"use client";
+
+import { useState } from "react";
+import Image from "next/image";
+
+export default function HeroVideo() {
+ const [isVideoLoaded, setIsVideoLoaded] = useState(false);
+
+ return (
+
+ );
+}
diff --git a/components/Navbar.tsx b/components/Navbar.tsx
new file mode 100644
index 0000000..9d5e4ca
--- /dev/null
+++ b/components/Navbar.tsx
@@ -0,0 +1,151 @@
+"use client";
+
+import { useState, useEffect } from "react";
+import Link from "next/link";
+import { usePathname } from "next/navigation";
+import { motion, AnimatePresence } from "framer-motion";
+import { Menu, X } from "lucide-react";
+
+const navLinks = [
+ // { name: "Odalar", href: "/odalar" },
+ { name: "Aktiviteler",href: "/aktiviteler"},
+ { name: "Restoran", href: "/restoran" },
+ { name: "Etkinlikler",href: "/etkinlikler"},
+ { name: "Galeri", href: "/galeri" },
+ { name: "Hakkımızda", href: "/hakkimizda" },
+ { name: "İletişim", href: "/iletisim" },
+];
+
+export default function Navbar() {
+ const [isOpen, setIsOpen] = useState(false);
+ const [scrolled, setScrolled] = useState(false);
+ const pathname = usePathname();
+
+ useEffect(() => {
+ const onScroll = () => setScrolled(window.scrollY > 60);
+ window.addEventListener("scroll", onScroll, { passive: true });
+ return () => window.removeEventListener("scroll", onScroll);
+ }, []);
+
+ useEffect(() => { setIsOpen(false); }, [pathname]);
+
+ const isHome = pathname === "/";
+
+ return (
+
+
+
+
+ {/* Logo */}
+
+
+ KITE BEACH
+
+
+ Akyaka
+
+
+
+ {/* Desktop links */}
+
+ {navLinks.map((link) => {
+ const active = pathname === link.href;
+ return (
+
+ {link.name}
+
+
+ );
+ })}
+
+
+ Rezervasyon
+
+
+
+ {/* Mobile toggle */}
+
setIsOpen(!isOpen)}
+ className={`flex md:hidden p-1 transition-colors ${
+ scrolled ? "text-dark" : isHome ? "text-white" : "text-dark"
+ }`}
+ aria-label="Menü"
+ >
+ {isOpen ? : }
+
+
+
+
+ {/* Mobile Menu */}
+
+ {isOpen && (
+
+
+ {navLinks.map((link, i) => (
+
+
+ {link.name}
+
+
+ ))}
+
+ Rezervasyon Yap
+
+
+
+ )}
+
+
+ );
+}
diff --git a/components/ScrollReveal.tsx b/components/ScrollReveal.tsx
new file mode 100644
index 0000000..cbb526b
--- /dev/null
+++ b/components/ScrollReveal.tsx
@@ -0,0 +1,51 @@
+"use client";
+
+import { useEffect, useRef } from "react";
+
+interface ScrollRevealProps {
+ children: React.ReactNode;
+ className?: string;
+ stagger?: boolean;
+ delay?: number;
+ threshold?: number;
+}
+
+export default function ScrollReveal({
+ children,
+ className = "",
+ stagger = false,
+ delay = 0,
+ threshold = 0.12,
+}: ScrollRevealProps) {
+ const ref = useRef(null);
+
+ useEffect(() => {
+ const el = ref.current;
+ if (!el) return;
+
+ const observer = new IntersectionObserver(
+ (entries) => {
+ entries.forEach((entry) => {
+ if (entry.isIntersecting) {
+ const trigger = () => el.classList.add("visible");
+ delay > 0 ? setTimeout(trigger, delay) : trigger();
+ observer.unobserve(entry.target);
+ }
+ });
+ },
+ { threshold }
+ );
+
+ observer.observe(el);
+ return () => observer.disconnect();
+ }, [delay, threshold]);
+
+ return (
+
+ {children}
+
+ );
+}
diff --git a/components/WhatsAppButton.tsx b/components/WhatsAppButton.tsx
new file mode 100644
index 0000000..6b1fe93
--- /dev/null
+++ b/components/WhatsAppButton.tsx
@@ -0,0 +1,28 @@
+"use client";
+
+import { MessageCircle } from "lucide-react";
+import { motion } from "framer-motion";
+
+export default function WhatsAppButton() {
+ return (
+
+
+
+ );
+}
diff --git a/docs/prd.md b/docs/prd.md
new file mode 100644
index 0000000..a46ade2
--- /dev/null
+++ b/docs/prd.md
@@ -0,0 +1,272 @@
+# 🌊 Kite Beach Akyaka — Web Sitesi Yenileme Promptu
+
+## 📋 Mevcut Site Analizi
+
+### Site Hakkında
+- **URL:** https://www.kitebeachakyaka.com.tr/
+- **İşletme Türü:** Butik otel + kitesurf merkezi, Akyaka / Muğla
+- **Platform:** WordPress tabanlı
+
+### Mevcut Site Yapısı
+- Tek sayfalık (one-page) basit bir web sitesi
+- **Navigasyon:** Sadece 1 menü öğesi var → "KURUMSAL" (dış siteye bağlantı: moygroup.com.tr)
+- **İçerik Bölümleri:**
+ 1. Üst kısım: Logo + tek menü öğesi
+ 2. Hero area: "KITE BEACH / WELCOME TO" metin + fotoğraf galerisi (siyah-beyaz görseller)
+ 3. "KITE BEACH AKYAKA OTEL" başlığı + tanıtım metni
+ 4. Oda/iç mekan fotoğrafları (renkli — oda ve banyo)
+ 5. "Rezervasyon Yap" CTA butonu (telefona yönlendiriyor: tel:05330816181)
+ 6. YouTube video embed
+ 7. Google Maps harita
+ 8. Footer: Sadece © 2026 Kite Beach Akyaka.
+- **Sabit Elementler:** Sol alt köşede "Hemen Ara" floating butonu
+
+---
+
+## 🔴 Tespit Edilen Sorunlar ve Eksiklikler
+
+### Yapısal Sorunlar
+- Navigasyon menüsü neredeyse boş — sadece 1 harici link var, hiç iç sayfa yok
+- "KURUMSAL" linki kendi sitesine değil, grup şirketi sitesine yönlendiriyor
+- Tek sayfa düzeni, SEO açısından son derece zayıf
+- Sayfa başlığı (hero) karanlık/eksik görünüyor — tam görsel hero slider yok
+
+### İçerik Eksiklikleri
+- Oda kategorileri ve detayları yok (oda tipleri, kapasite, fiyat)
+- Aktiviteler sayfası yok (Kitesurf dersleri, kamp seçenekleri, yoga vb.)
+- Restoran/yemek bilgisi yok
+- Hakkımızda / hikaye sayfası yok
+- İletişim formu yok — sadece telefon numarası var
+- Blog / haberler bölümü yok
+- Sosyal medya linkleri footer'da yer almıyor
+- Dil seçeneği yok (EN / TR)
+
+### Tasarım Sorunları
+- Siyah-beyaz fotoğraf kullanımı tutarsız: üst bölüm siyah-beyaz, oda fotoğrafları renkli
+- Renk paleti tanımsız — beyaz/siyah dışında marka rengi kullanılmıyor
+- Tipografi tek düze, hiyerarşi eksik
+- Fazla boş alan (beyaz boşluk) bölümler arası geçişlerde kullanıcıyı şaşırtıyor
+- Mobil uyumluluk kontrol edilmeli
+- "Rezervasyon Yap" butonu yalnızca telefona yönlendiriyor — online rezervasyon yok
+
+### UX/CX Sorunları
+- Online rezervasyon sistemi entegrasyonu yok
+- Fiyat bilgisi hiç yok
+- Misafir yorumları / testimonial bölümü yok
+- SSS (sık sorulan sorular) yok
+- Ulaşım bilgisi yetersiz (harita var ama yol tarifi/transfer yok)
+
+---
+
+## ✅ Güçlü Yönler (Korunacaklar)
+- Logo tasarımı özgün ve ilgi çekici (döngüsel kite teması)
+- "Hemen Ara" floating butonu kullanışlı
+- Google Maps entegrasyonu mevcut
+- YouTube video alanı var
+- Tanıtım metni duygusal ve akıcı yazılmış
+
+---
+
+## 🎯 YENİLEME PROMPTU
+
+> Aşağıdaki prompt, bir web tasarımcısı, geliştirici veya yapay zeka aracına (Cursor, Lovable, v0, Framer, vb.) verilebilir.
+
+---
+
+### PROMPT
+
+**Kite Beach Akyaka** için tamamen yeniden tasarlanmış, modern, dönüşüm odaklı ve SEO uyumlu bir web sitesi oluştur.
+
+---
+
+#### 🏨 İşletme Profili
+- **İsim:** Kite Beach Akyaka
+- **Tür:** Butik otel + kitesurf & outdoor aktivite merkezi
+- **Konum:** Akyaka, Muğla, Türkiye (nehir-deniz kesişim noktası)
+- **Hedef Kitle:** Macera seven yetişkinler, kitesurf meraklıları, doğa tatili arayanlar, yoga & wellness tutkunları
+- **Dil:** Türkçe (birincil) + İngilizce (ikincil — dil değiştirme butonu)
+- **Ton:** Minimal, doğaya saygılı, enerjik ama sakin, premium butik
+
+---
+
+#### 🗂️ Site Yapısı (Sayfalar)
+
+1. **Ana Sayfa (Home)**
+2. **Odalar & Bungalowlar**
+3. **Aktiviteler** (Kitesurf, Yoga, SUP, Bisiklet vb.)
+4. **Restoran & Bar**
+5. **Galeri**
+6. **Hakkımızda**
+7. **İletişim & Rezervasyon**
+
+---
+
+#### 🖥️ SAYFA SAYFA DETAYLAR
+
+##### 1. ANA SAYFA
+
+**Hero Section**
+- Tam ekran video veya yüksek çözünürlüklü slider (mavi gökyüzü, uçan uçurtma, nehir, günbatımı)
+- Üzerine: `KITE BEACH AKYAKA` büyük başlık + küçük tagline: _"Nehrin huzuru, denizin enerjisi — tek bir noktada."_
+- İki CTA butonu: `[Rezervasyon Yap]` ve `[Aktiviteleri Keşfet]`
+- Scroll-down animasyonu
+
+**Hızlı Özellikler Bandı** (ikonlarla, yatay şerit)
+- 🏄 Kitesurf Okulu | 🧘 Yoga Platformu | 🍽️ Nehir Manzaralı Restoran | 🛏️ Butik Odalar | 🌅 Gün Batımı Terrası
+
+**Hakkımızda Özet**
+- 2 kolonlu: sol → atmosferik fotoğraf, sağ → kısa metin + "Daha Fazlası" butonu
+
+**Odalar Önizleme**
+- 3 kart: oda tipi, fotoğraf, kısa açıklama, fiyat aralığı, "İncele" butonu
+
+**Aktiviteler Grid**
+- 4 kart (Kitesurf, Yoga, SUP, Plaj Voleybolu vb.) — hover animasyonlu
+
+**Misafir Yorumları (Testimonials)**
+- Carousel slider, Google/Booking yorumlarından alıntı, 5 yıldız gösterimi
+
+**Instagram Duvarı**
+- Son 6-9 Instagram gönderisi çekilen grid, @kitebeachakyaka bağlantısıyla
+
+**Rezervasyon CTA Bandı**
+- Koyu/gradyan arka plan üzerinde: _"Hayalindeki tatili planlamaya hazır mısın?"_
+- `[Hemen Rezervasyon Yap]` belirgin turuncu/altın buton
+
+---
+
+##### 2. ODALAR & BUNGALOWLAR
+
+- Her oda için: büyük fotoğraf galerisi, oda adı, m² bilgisi, max kapasite, özellikler listesi (klima, wifi, minibar, manzara vb.), gece başına fiyat
+- Oda tipleri (örnek): Standart Oda / Nehir Manzaralı Oda / Deluxe Suit / Bungalow
+- Odaların her birinde `[Rezervasyon Yap]` butonu
+- Tarih seçici widget (check-in / check-out) veya Booking.com / Tua entegrasyonu
+
+---
+
+##### 3. AKTİVİTELER
+
+- Her aktivite için ayrı kart veya accordion bölümü
+- **Kitesurf:** Seviye bilgisi (başlangıç / orta / ileri), ders süresi, fiyat, IKO sertifika bilgisi
+- **Yoga:** Açık hava platformu, grup/özel seanslar, haftalık program
+- **SUP (Stand-Up Paddle):** Kiralama & tur seçenekleri
+- **Bisiklet Kiralama:** Akyaka köy turu önerisi
+- **Yelken / Tekne Turu:** Gökova körfezi gün turları
+- Her aktivite kartında: fotoğraf, açıklama, süre, fiyat, `[Bilgi Al / Rezervasyon]` butonu
+
+---
+
+##### 4. RESTORAN & BAR
+
+- Ege mutfağı vurgusu, taze & yerel malzeme
+- Atmosfer fotoğrafları (nehir kenarı, ahşap terasa bakan açılar)
+- Menü kategorileri (Kahvaltı / Öğle / Akşam / İçecekler) — PDF menü indirme veya dijital menü
+- Özel günler için rezervasyon formu
+
+---
+
+##### 5. GALERİ
+
+- Masonry veya grid düzeni
+- Filtre butonları: Tümü | Odalar | Aktiviteler | Doğa | Sosyal Alanlar
+- Lightbox açılır görsel önizleme
+- Görseller **renkli** olacak (mevcut siyah-beyaz karışıklığı giderilecek)
+
+---
+
+##### 6. HAKKIMIZDA
+
+- İşletme hikayesi (kuruluş, vizyon, misyon)
+- Ekip tanıtımı (fotoğraflar + kısa biyografi)
+- Değerlerimiz (Sürdürülebilirlik, Doğaya Saygı, Misafirperver Hizmet)
+- Sertifikalar / Ödüller varsa
+
+---
+
+##### 7. İLETİŞİM & REZERVASYON
+
+- İletişim formu: Ad Soyad, E-posta, Telefon, Mesaj, `[Gönder]`
+- Adres, telefon, e-posta bilgileri
+- Google Maps embed (tam genişlik)
+- Ulaşım bilgisi: Muğla/Marmaris/Bodrum'dan mesafe ve yol tarifi
+- Transfer hizmeti varsa belirt
+- Sosyal medya linkleri (Instagram, Facebook, YouTube, TikTok)
+- WhatsApp butonu (direkt mesaj)
+
+---
+
+#### 🎨 TASARIM REHBERI
+
+**Renk Paleti:**
+| Renk | Hex | Kullanım |
+|------|-----|----------|
+| Okyanus Mavisi | `#1A6B8A` | Primary / butonlar |
+| Kum Bej | `#F5EDD6` | Arka plan |
+| Gün Batımı Turuncusu | `#E87040` | CTA butonları / vurgu |
+| Koyu Antrasit | `#1C1C1C` | Metin |
+| Beyaz | `#FFFFFF` | Kart arka planları |
+
+**Tipografi:**
+- Başlıklar: `Playfair Display` (serif, şık) veya `Cormorant Garamond`
+- Gövde metni: `Inter` veya `DM Sans` (okunabilir, modern sans-serif)
+- Butonlar: `Inter Semi-Bold`, büyük harf, letter-spacing: 0.05em
+
+**Stil Notları:**
+- Minimal ve havadar tasarım — çok element yok
+- Büyük, nefes alan beyaz alanlar (generous whitespace)
+- İnce çizgiler ve subtle animasyonlar (fade-in, parallax scroll)
+- Görseller %100 renkli — siyah-beyaz yalnızca özel efekt olarak kullanılabilir
+- Rounded corners: 8-12px kart köşeleri
+- Gölge: yumuşak box-shadow (`0 4px 24px rgba(0,0,0,0.08)`)
+
+---
+
+#### 📱 Teknik Gereksinimler
+
+- **Mobil öncelikli (mobile-first)** responsive tasarım
+- **Sayfa yükleme hızı:** Core Web Vitals hedefi — LCP < 2.5s
+- **SEO:** Her sayfa için meta title, description, OG tags, schema markup (Hotel, LocalBusiness)
+- **SSL:** Zorunlu (HTTPS)
+- **CMS:** WordPress + Elementor Pro veya Webflow
+- **Rezervasyon Entegrasyonu:** Booking.com channel manager veya Tua / Protel PMS
+- **Analytics:** Google Analytics 4 + Search Console
+- **Cookie Banner:** KVKK uyumlu
+- **WhatsApp Entegrasyonu:** Floating WhatsApp butonu (mevcut "Hemen Ara" ile beraber)
+- **Dil:** TR/EN toggle (WPML veya Polylang ile)
+- **Sitemap & Robots.txt** otomatik oluşturulacak
+
+---
+
+#### 🔗 Footer Yapısı
+Logo | Tagline
+Hızlı Linkler İletişim Sosyal Medya
+Ana Sayfa Tel: +90 533 081 6181 Instagram
+Odalar info@kitebeachakyaka Facebook
+Aktiviteler Akyaka, Muğla YouTube
+Restoran [Google Maps] TikTok
+Galeri
+İletişim
+© 2026 Kite Beach Akyaka | KVKK | Gizlilik Politikası | Çerez Politikası
+
+---
+
+#### ✨ Bonus Özellikler (İsteğe Bağlı)
+
+- [ ] Canlı sohbet (Tawk.to veya Crisp)
+- [ ] "Bu haftanın hava durumu" widget (Akyaka rüzgar hızı — kitesurf için kritik)
+- [ ] Erken rezervasyon / last-minute indirim bandı (header altında)
+- [ ] Sadakat programı veya newsletter kaydı
+- [ ] Blog: "Akyaka'da Yapılacaklar", "Kitesurf Başlangıç Rehberi" gibi SEO içerikleri
+- [ ] Tur paketleri sayfası (örn: "3 Gece + Kitesurf Kursu Paketi")
+- [ ] 360° sanal tur (oda ve ortak alanlar için)
+
+---
+
+#### 📌 Öncelik Sırası
+
+1. **Acil:** Online rezervasyon sistemi entegrasyonu
+2. **Yüksek:** Mobil uyumluluk & sayfa hızı optimizasyonu
+3. **Yüksek:** Çok sayfalı yapıya geçiş (oda/aktivite sayfaları)
+4. **Orta:** TR/EN dil desteği
+5. **Orta:** SEO altyapısı (meta, schema, blog)
+6. **Düşük:** Blog ve içerik pazarlaması
\ No newline at end of file
diff --git a/next.config.ts b/next.config.ts
index e9ffa30..5093c46 100644
--- a/next.config.ts
+++ b/next.config.ts
@@ -1,7 +1,22 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
- /* config options here */
+ images: {
+ remotePatterns: [
+ {
+ protocol: 'https',
+ hostname: 'images.unsplash.com',
+ port: '',
+ pathname: '/**',
+ },
+ {
+ protocol: 'https',
+ hostname: 'img.youtube.com',
+ port: '',
+ pathname: '/**',
+ },
+ ],
+ },
};
export default nextConfig;
diff --git a/package-lock.json b/package-lock.json
index d1bc87b..c708622 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,8 @@
"name": "kitebeach",
"version": "0.1.0",
"dependencies": {
+ "framer-motion": "^12.40.0",
+ "lucide-react": "^1.17.0",
"next": "16.2.7",
"react": "19.2.4",
"react-dom": "19.2.4"
@@ -3762,6 +3764,33 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/framer-motion": {
+ "version": "12.40.0",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.40.0.tgz",
+ "integrity": "sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.40.0",
+ "motion-utils": "^12.39.0",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -5032,6 +5061,15 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/lucide-react": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.17.0.tgz",
+ "integrity": "sha512-9FA9evdox/JQL5PT57fdA1x/yg8T7knJ98+zjTL3UfKza6pflQUUh3XtaQIHKvnsJw1lmsEyHVlt5jchYxOQ5w==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/magic-string": {
"version": "0.30.21",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
@@ -5099,6 +5137,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/motion-dom": {
+ "version": "12.40.0",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.40.0.tgz",
+ "integrity": "sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.39.0"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.39.0",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.39.0.tgz",
+ "integrity": "sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==",
+ "license": "MIT"
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
diff --git a/package.json b/package.json
index e38c5c7..0cce798 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,8 @@
"lint": "eslint"
},
"dependencies": {
+ "framer-motion": "^12.40.0",
+ "lucide-react": "^1.17.0",
"next": "16.2.7",
"react": "19.2.4",
"react-dom": "19.2.4"