-
-
- Kozmos
-
-
- Beach & More
-
+
diff --git a/components/Gallery.tsx b/components/Gallery.tsx
index 0a5a214..114c53c 100644
--- a/components/Gallery.tsx
+++ b/components/Gallery.tsx
@@ -6,11 +6,12 @@ import { Instagram } from '@/components/InstagramIcon';
import { useState, useEffect } from 'react';
import { X, ChevronLeft, ChevronRight } from 'lucide-react';
-export default function Gallery() {
+export default function Gallery({ dbGallery = [] }: { dbGallery?: any[] }) {
const t = useTranslations('Gallery');
- const images = Array.from({ length: 12 }).map((_, i) => ({
- id: i,
+ // Fallback to placeholder images if database is empty
+ const images = dbGallery.length > 0 ? dbGallery : Array.from({ length: 12 }).map((_, i) => ({
+ id: `fallback-${i}`,
src: `https://picsum.photos/600/${400 + (i % 5) * 50}?random=${30 + i}`,
alt: `Gallery ${i + 1}`,
}));
diff --git a/components/InstagramFeed.tsx b/components/InstagramFeed.tsx
new file mode 100644
index 0000000..a644fd6
--- /dev/null
+++ b/components/InstagramFeed.tsx
@@ -0,0 +1,94 @@
+"use client";
+
+import { motion } from "framer-motion";
+import { Instagram } from "@/components/InstagramIcon";
+
+type InstaPost = {
+ id: string;
+ imageUrl: string;
+ url: string;
+ caption: string;
+};
+
+export default function InstagramFeed({ posts }: { posts: InstaPost[] }) {
+ if (!posts || posts.length === 0) {
+ return null; // Eğer post yoksa veya API hata verdiyse gizle
+ }
+
+ return (
+
+
+
+
+
+
+
+
+ @kozmosbeach
+
+
+
+ Bizi Instagram'da takip edin, en yeni etkinliklerden ve plajımızdaki harika anlardan anında haberdar olun.
+
+
+
+
+ {posts.map((post, i) => (
+
+ {/* Instagram image is loaded via img instead of next/image to avoid domain config issues with FB/IG CDNs */}
+ {post.imageUrl ? (
+
+ ) : (
+
+
+
+ )}
+
+
+
+
+
+ ))}
+
+
+
+
+
+ );
+}
diff --git a/components/Navbar.tsx b/components/Navbar.tsx
index 89979aa..99df05b 100644
--- a/components/Navbar.tsx
+++ b/components/Navbar.tsx
@@ -2,6 +2,7 @@
import { useTranslations } from 'next-intl';
import { Link, usePathname, useRouter } from '@/i18n/routing';
+import Image from 'next/image';
import { useState, useEffect } from 'react';
import { Menu, X } from 'lucide-react';
import { motion, AnimatePresence } from 'framer-motion';
@@ -26,7 +27,6 @@ export default function Navbar({ locale }: { locale: string }) {
const navLinks = [
{ href: pathname === '/' ? '#about' : '/#about', label: t('about') },
- { href: '/accommodation', label: t('accommodation') },
{ href: pathname === '/' ? '#beach' : '/#beach', label: t('beach') },
{ href: pathname === '/' ? '#dining' : '/#dining', label: t('dining') },
{ href: pathname === '/' ? '#events' : '/#events', label: t('events') },
@@ -36,30 +36,25 @@ export default function Navbar({ locale }: { locale: string }) {
return (