import { Badge } from '@/components/ui/badge'; import { ImageIcon, Trash2, Edit } from 'lucide-react'; interface PhotoAdditionPreviewProps { photos: Array<{ url: string; title?: string; caption?: string; }>; compact?: boolean; } export function PhotoAdditionPreview({ photos, compact = false }: PhotoAdditionPreviewProps) { if (compact) { return ( +{photos.length} Photo{photos.length > 1 ? 's' : ''} ); } return (
Adding {photos.length} Photo{photos.length > 1 ? 's' : ''}
{photos.slice(0, 6).map((photo, idx) => (
{photo.title {(photo.title || photo.caption) && (
{photo.title || photo.caption}
)}
))} {photos.length > 6 && (
+{photos.length - 6} more
)}
); } interface PhotoEditPreviewProps { photo: { url: string; oldCaption?: string; newCaption?: string; oldTitle?: string; newTitle?: string; }; compact?: boolean; } export function PhotoEditPreview({ photo, compact = false }: PhotoEditPreviewProps) { if (compact) { return ( Photo Edit ); } return (
Photo Metadata Edit
Photo being edited
{photo.oldTitle !== photo.newTitle && (
Title:
{photo.oldTitle || 'None'}
{photo.newTitle || 'None'}
)} {photo.oldCaption !== photo.newCaption && (
Caption:
{photo.oldCaption || 'None'}
{photo.newCaption || 'None'}
)}
); } interface PhotoDeletionPreviewProps { photo: { url: string; title?: string; caption?: string; entity_type?: string; entity_name?: string; deletion_reason?: string; }; compact?: boolean; } export function PhotoDeletionPreview({ photo, compact = false }: PhotoDeletionPreviewProps) { if (compact) { return (
Delete Photo {photo.deletion_reason && ( - {photo.deletion_reason} )}
); } return (
Photo Deletion Request
{photo.url && ( {photo.title )}
{photo.title && (
Title:
{photo.title}
)} {photo.caption && (
Caption:
{photo.caption}
)} {photo.entity_type && photo.entity_name && (
From Entity:
{photo.entity_type.replace('_', ' ')} - {photo.entity_name}
)} {photo.deletion_reason && (
Deletion Reason:

{photo.deletion_reason}

)}
); }