'use client'; import { Badge } from '@repo/shadcn/badge'; import { Button } from '@repo/shadcn/button'; import { Card, CardContent, CardHeader, CardTitle, } from '@repo/shadcn/components/ui/card'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@repo/shadcn/components/ui/dialog'; import { X } from 'lucide-react'; import React, { useState } from 'react'; import { TrainingSchema } from '../schemas/training'; interface TrainingViewModalProps { data: TrainingSchema | null; isOpen: boolean; onClose: () => void; } export function TrainingViewModal({ data, isOpen, onClose, }: TrainingViewModalProps) { const [selectedImage, setSelectedImage] = useState(null); if (!data) return null; const DetailItem = ({ label, value }: { label: string; value: any }) => (

{label}

{value || 'N/A'}

); const Section = ({ title, children, }: { title: string; children: React.ReactNode; }) => ( {title} {children} ); return ( <> Detalle de la Organización Socioproductiva Resumen detallado de la información de la organización socioproductiva incluyendo ubicación, responsable y registro fotográfico.
{/* 1. Datos de la visita */}
{/* 2. Datos de la OSP */}
{data.currentStatus} } />
{data.paralysisReason && (
)}
{/* 3. Ubicación */}
{/* 4. Responsable */}
{/* 5. Observaciones */} 5. Observaciones Generales

{data.generalObservations || 'Sin observaciones'}

{/* 6. Registro fotográfico */} 6. Registro fotográfico
{[data.photo1, data.photo2, data.photo3].map( (photo, idx) => photo && (
setSelectedImage(photo)} > {`Registro
), )} {![data.photo1, data.photo2, data.photo3].some(Boolean) && (

No hay registro fotográfico

)}
{/* Lightbox */} setSelectedImage(null)} > Vista ampliada de la imagen Imagen ampliada del registro fotográfico de la organización.
{selectedImage && ( Expanded view )}
); }