'use client'; import { useState, useEffect } from 'react'; import Image from 'next/image'; import { dataStore } from '@/lib/dataStore'; import type { MediaItem } from '@/data/media'; interface MediaGalleryProps { onClose: () => void; } export default function MediaGallery({ onClose }: MediaGalleryProps) { const [mediaItems, setMediaItems] = useState([]); const [selectedMediaTab, setSelectedMediaTab] = useState<'all' | 'video' | 'photo'>('all'); const [selectedMedia, setSelectedMedia] = useState(null); useEffect(() => { dataStore.getMedia().then(setMediaItems); }, []); const filteredMedia = selectedMediaTab === 'all' ? mediaItems : mediaItems.filter(item => item.type === selectedMediaTab); const handleClose = () => { setSelectedMedia(null); setSelectedMediaTab('all'); onClose(); }; return (

Medya Galerisi

{/* Medya Grid veya Detay */} {selectedMedia === null ? ( <> {/* Tab Menü */}
{/* Medya Grid */}
{filteredMedia.map((item) => (
setSelectedMedia(item.id)} className="bg-gray-50 rounded-xl overflow-hidden hover:shadow-lg transition-all duration-300 hover:-translate-y-2 cursor-pointer group" > {/* Thumbnail */}
{item.title} {/* Video Badge */} {item.type === 'video' && (
)} {/* Photo Badge */} {item.type === 'photo' && (
FOTO
)}
{/* Content */}
{item.date}

{item.title}

{item.description}

))}
) : ( /* Medya Detayı */
{mediaItems.filter(m => m.id === selectedMedia).map((item) => (
{/* Geri Butonu */} {/* Video Player veya Büyük Fotoğraf */} {item.type === 'video' ? (
) : (
{item.title}
)} {/* Bilgiler */}
{item.date}

{item.title}

{item.description}

{/* Paylaş */}
Paylaş:
))}
)}
); }