import { useEffect, useState } from 'react'; import { Link } from 'react-router'; import { useAuth } from '../../auth/AuthContext'; import { Alert, EmptyState, LoadingBlock, errorMessage } from '../../components/Feedback'; import { Icon } from '../../components/Icon'; import { listInspectionActs } from '../../lib/api'; import type { InspectionActListItem, InspectionVisit } from '../../lib/api'; import { formatDate } from '../../lib/format'; import { FieldBriefingPanel } from './FieldBriefingPanel'; import { inspectionActStatusClass, inspectionActStatusLabel } from './inspectionActPresentation'; export function InspectionActsPanel({ visit }: { visit: InspectionVisit }) { const { hasPermission } = useAuth(); const canRead = hasPermission('inspection_acts.read'); const [acts, setActs] = useState([]); const [loading, setLoading] = useState(canRead); const [error, setError] = useState(''); useEffect(() => { if (!canRead) return; setLoading(true); setError(''); listInspectionActs(visit.id, { pageSize: 100 }) .then((response) => setActs(response.data)) .catch((requestError) => setError(errorMessage(requestError))) .finally(() => setLoading(false)); }, [canRead, visit.id]); return <> {canRead &&
ACTAS DE LA INSPECCIÓN

Actas generadas

Una inspección puede generar múltiples actas. Cada acta agrupa sus propios hallazgos y tendrá un único informe.

Sólo lectura

Las actas se crean en la APK. El dashboard permite consultar cada acta, sus hallazgos, firmas e informe después de la sincronización.

{error && {error}} {loading ? : acts.length === 0 ? :
Actas de la inspecciónNumeración oficial global por año
{acts.map((act) => )}
ActaEstadoFechaRegistrosHallazgosVersión
{act.title}{act.code}
{inspectionActStatusLabel(act.status)}{formatDate(act.occurredAt)}{act.assetCount}{act.findingCount}v{act.currentVersion}
}
} ; }