import React from 'react'; import { PhotoLog, User } from '../types'; import { Camera, Search, Filter, Plus, MoreVertical, MapPin, Calendar, Tag, Download, Share2, Maximize2, User as UserIcon, ChevronRight } from 'lucide-react'; interface PhotoLogsProps { photoLogs: PhotoLog[]; users: User[]; } const PhotoLogs: React.FC = ({ photoLogs, users }) => { const [searchQuery, setSearchQuery] = React.useState(''); const [selectedPhoto, setSelectedPhoto] = React.useState(null); const filteredPhotos = photoLogs.filter(p => p.caption.toLowerCase().includes(searchQuery.toLowerCase()) || p.location.toLowerCase().includes(searchQuery.toLowerCase()) || p.tags.some(t => t.toLowerCase().includes(searchQuery.toLowerCase())) ); const getUploaderName = (uid: string) => { return users.find(u => u.uid === uid)?.name || 'Unknown User'; }; return (
{/* Header & Filters */}
setSearchQuery(e.target.value)} className="w-full pl-10 pr-4 py-2 bg-slate-50 border border-slate-200 rounded-xl focus:ring-2 focus:ring-blue-500 outline-none text-sm transition-all" />
{/* Photo Grid */}
{filteredPhotos.map(photo => (
{photo.caption}

{photo.caption}

{photo.location}
{new Date(photo.createdAt).toLocaleDateString()}
{photo.tags.map((tag, idx) => ( #{tag} ))}
{getUploaderName(photo.uploadedBy)}
))}
{/* Photo Modal */} {selectedPhoto && (
{selectedPhoto.caption}

{selectedPhoto.caption}

{selectedPhoto.location} • {new Date(selectedPhoto.createdAt).toLocaleString()}

)}
); }; export default PhotoLogs;