import { memo } from 'react'; import { PhotoGrid } from '@/components/common/PhotoGrid'; import { normalizePhotoData } from '@/lib/photoHelpers'; import type { PhotoItem } from '@/types/photos'; import type { PhotoForDisplay, ModerationItem } from '@/types/moderation'; interface ReviewDisplayProps { item: ModerationItem; isMobile: boolean; onOpenPhotos: (photos: PhotoForDisplay[], index: number) => void; } export const ReviewDisplay = memo(({ item, isMobile, onOpenPhotos }: ReviewDisplayProps) => { return (
{item.content.title && (

{item.content.title}

)} {item.content.content && (

{item.content.content}

)}
Rating: {item.content.rating}/5
{/* Entity Names for Reviews */} {(item.entity_name || item.park_name) && (
{item.entity_name && (
{item.park_name ? 'Ride:' : 'Park:'} {item.entity_name}
)} {item.park_name && (
Park: {item.park_name}
)}
)} {item.content.photos && item.content.photos.length > 0 && (() => { const reviewPhotos: PhotoItem[] = normalizePhotoData({ type: 'review', photos: item.content.photos }); return (
Attached Photos:
onOpenPhotos(photos as any, index)} maxDisplay={isMobile ? 3 : 4} className="grid-cols-2 md:grid-cols-3" /> {item.content.photos[0]?.caption && (

{item.content.photos[0].caption}

)}
); })()}
); }); ReviewDisplay.displayName = 'ReviewDisplay';