From bc1d46a0fe26c1017ddf178b2d959e65ed987e18 Mon Sep 17 00:00:00 2001 From: Ayris Dev Date: Mon, 13 Jul 2026 17:09:39 +0300 Subject: [PATCH] feat: bring back rooms (odalar) section and links --- app/[lang]/odalar/page.tsx | 217 +++++++++++++++++++++++++++++++++++++ app/[lang]/page.tsx | 2 - app/sitemap.ts | 3 +- components/Footer.tsx | 2 + components/Navbar.tsx | 2 + 5 files changed, 223 insertions(+), 3 deletions(-) create mode 100644 app/[lang]/odalar/page.tsx diff --git a/app/[lang]/odalar/page.tsx b/app/[lang]/odalar/page.tsx new file mode 100644 index 0000000..612ebdb --- /dev/null +++ b/app/[lang]/odalar/page.tsx @@ -0,0 +1,217 @@ +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 roomsTr = [ + { + img: "https://images.unsplash.com/photo-1618773928121-c32242e63f39?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, + }, +]; + +const roomsEn = [ + { + img: "https://images.unsplash.com/photo-1618773928121-c32242e63f39?q=80&w=2940&auto=format&fit=crop", + tag: "Standard", + name: "Standard Room", + desc: "Enjoy comfort in our modern standard rooms. Relaxing atmosphere with a double bed and stylish decoration.", + sqm: "20 m²", + price: "₺4.500", + features: [ + { icon: Wifi, label: "Free Wi-Fi" }, + { icon: Wind, label: "Air Conditioning" }, + { icon: Coffee, label: "Minibar" }, + { icon: Eye, label: "Garden View" }, + ], + reversed: false, + }, + { + img: "https://images.unsplash.com/photo-1566665797739-1674de7a421a?q=80&w=2874&auto=format&fit=crop", + tag: "Popular", + name: "River View Room", + desc: "Spacious rooms where you wake up to the unique view of the Azmak river. Listen to the sound of nature while sipping morning coffee on your private balcony.", + sqm: "25 m²", + price: "₺5.500", + features: [ + { icon: Eye, label: "River View" }, + { icon: Trees, label: "Private Balcony" }, + { icon: Coffee, label: "Nespresso Machine" }, + { icon: Wifi, label: "Free Wi-Fi" }, + ], + reversed: true, + }, + { + img: "https://images.unsplash.com/photo-1499955085172-a104c9463ece?q=80&w=2940&auto=format&fit=crop", + tag: "Premium", + name: "Wooden Bungalow", + desc: "Wooden living area with private entrance and terrace, fully integrated with nature. Ideal for couples seeking privacy and serenity.", + sqm: "35 m²", + price: "₺7.000", + features: [ + { icon: Trees, label: "Private Terrace" }, + { icon: Eye, label: "Nature View" }, + { icon: Coffee, label: "Premium Amenities" }, + { icon: Wind, label: "Air Conditioning" }, + ], + reversed: false, + }, +]; + +export default async function OdalarPage({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const isEn = lang === "en"; + const displayRooms = isEn ? roomsEn : roomsTr; + const displayAmenities = isEn + ? ["Organic Breakfast Spread", "Free Parking", "Beach & River Access", "Sunbed & Towel", "Wi-Fi", "24/7 Reception"] + : ["Organik Serpme Kahvaltı", "Ücretsiz Otopark", "Plaj & Nehir Erişimi", "Şezlong & Havlu", "Wi-Fi", "24/7 Resepsiyon"]; + + return ( +
+ + {/* Page Header */} +
+
+ {isEn +
+
+
+ + {isEn ? "Accommodation" : "Konaklama"} + +

+ {isEn ? "Our Rooms" : "Odalarımız"} +

+

+ {isEn ? "A comfortable break in the heart of nature." : "Doğanın içinde, konforlu bir mola."} +

+
+
+ + {/* Room Listings */} +
+
+ {displayRooms.map((room, i) => ( + +
+ {/* Image */} +
+ {room.name} + {/* Tag */} + + {room.tag} + +
+ + {/* Content */} +
+ {room.sqm} +

{room.name}

+

{room.desc}

+ +
+ {room.features.map(({ icon: Icon, label }, j) => ( +
+
+ +
+ {label} +
+ ))} +
+ +
+
+ + {isEn ? "Per Night" : "Gecelik"} + + {room.price} +
+ + {isEn ? "Contact Us" : "Bize Ulaşın"} + +
+
+
+
+ ))} +
+
+ + {/* Info strip */} +
+
+

+ {isEn ? "What's included in all rooms" : "Tüm odalarda dahil olanlar"} +

+
+ {displayAmenities.map((item) => ( + + + {item} + + ))} +
+
+
+
+ ); +} diff --git a/app/[lang]/page.tsx b/app/[lang]/page.tsx index 5418a3f..91b3fb4 100644 --- a/app/[lang]/page.tsx +++ b/app/[lang]/page.tsx @@ -343,7 +343,6 @@ export default async function Home({ params }: { params: Promise<{ lang: string {/* ────────────────────────────────────────── ROOMS ────────────────────────────────────────── */} - {/*
@@ -409,7 +408,6 @@ export default async function Home({ params }: { params: Promise<{ lang: string
- */} {/* ────────────────────────────────────────── ACTIVITIES — BENTO GRID diff --git a/app/sitemap.ts b/app/sitemap.ts index 7d859d0..cd3c8d2 100644 --- a/app/sitemap.ts +++ b/app/sitemap.ts @@ -4,7 +4,8 @@ const baseUrl = 'https://kitebeachakyaka.com.tr'; const langs = ['tr', 'en']; const routes = [ { path: '', changeFrequency: 'daily' as const, priority: 1.0 }, - { path: '/aktiviteler', changeFrequency: 'weekly' as const, priority: 0.8 }, + { path: '/odalar', changeFrequency: 'weekly' as const, priority: 0.9 }, + { path: '/aktiviteler', changeFrequency: 'weekly' as const, priority: 0.9 }, { path: '/etkinlikler', changeFrequency: 'weekly' as const, priority: 0.9 }, { path: '/restoran', changeFrequency: 'weekly' as const, priority: 0.8 }, { path: '/iletisim', changeFrequency: 'monthly' as const, priority: 0.8 }, diff --git a/components/Footer.tsx b/components/Footer.tsx index c3a6ef7..e7e3468 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -33,6 +33,7 @@ export default function Footer({ lang = "tr" }: { lang?: string }) { const isEn = lang === "en"; const quickLinks = isEn ? [ { name: "Home", href: "/en" }, + { name: "Rooms", href: "/en/odalar" }, { name: "Activities", href: "/en/aktiviteler"}, { name: "Restaurant", href: "/en/restoran" }, { name: "Events", href: "/en/etkinlikler"}, @@ -40,6 +41,7 @@ export default function Footer({ lang = "tr" }: { lang?: string }) { { name: "About Us", href: "/en/hakkimizda" }, ] : [ { name: "Ana Sayfa", href: "/tr" }, + { name: "Odalar", href: "/tr/odalar" }, { name: "Aktiviteler", href: "/tr/aktiviteler"}, { name: "Restoran", href: "/tr/restoran" }, { name: "Etkinlikler", href: "/tr/etkinlikler"}, diff --git a/components/Navbar.tsx b/components/Navbar.tsx index 86a0914..f628780 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -8,6 +8,7 @@ import { motion, AnimatePresence } from "framer-motion"; import { Menu, X, Globe } from "lucide-react"; const navLinksEn = [ + { name: "Rooms", href: "/en/odalar" }, { name: "Activities", href: "/en/aktiviteler" }, { name: "Restaurant", href: "/en/restoran" }, { name: "Events", href: "/en/etkinlikler" }, @@ -16,6 +17,7 @@ const navLinksEn = [ ]; const navLinksTr = [ + { name: "Odalar", href: "/tr/odalar" }, { name: "Aktiviteler", href: "/tr/aktiviteler" }, { name: "Restoran", href: "/tr/restoran" }, { name: "Etkinlikler", href: "/tr/etkinlikler" },