diff --git a/src/components/moderation/EntityEditPreview.tsx b/src/components/moderation/EntityEditPreview.tsx index 1d4261f3..266f21e5 100644 --- a/src/components/moderation/EntityEditPreview.tsx +++ b/src/components/moderation/EntityEditPreview.tsx @@ -3,6 +3,7 @@ import { Badge } from '@/components/ui/badge'; import { Card, CardContent } from '@/components/ui/card'; import { supabase } from '@/integrations/supabase/client'; import { Image as ImageIcon } from 'lucide-react'; +import { PhotoModal } from './PhotoModal'; interface EntityEditPreviewProps { submissionId: string; @@ -32,6 +33,8 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti const [changedFields, setChangedFields] = useState([]); const [bannerImageUrl, setBannerImageUrl] = useState(null); const [cardImageUrl, setCardImageUrl] = useState(null); + const [isModalOpen, setIsModalOpen] = useState(false); + const [selectedImageIndex, setSelectedImageIndex] = useState(0); useEffect(() => { fetchSubmissionItems(); @@ -118,6 +121,23 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti ); } + // Build photos array for modal + const photos = []; + if (bannerImageUrl) { + photos.push({ + id: 'banner', + url: `${bannerImageUrl}/public`, + caption: 'New Banner Image' + }); + } + if (cardImageUrl) { + photos.push({ + id: 'card', + url: `${cardImageUrl}/public`, + caption: 'New Card Image' + }); + } + return (
@@ -152,10 +172,13 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti
{bannerImageUrl && ( - + { + setSelectedImageIndex(0); + setIsModalOpen(true); + }}> New banner @@ -166,10 +189,13 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti )} {cardImageUrl && ( - + { + setSelectedImageIndex(bannerImageUrl ? 1 : 0); + setIsModalOpen(true); + }}> New card @@ -186,6 +212,13 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti
Click "Review Items" for full details
+ + setIsModalOpen(false)} + />
); };