import React from 'react' import { Head } from '@inertiajs/react' import AdminLayout from '../../../Layouts/AdminLayout' function formatTimestamp(value) { if (!value) { return 'Not recorded' } return new Intl.DateTimeFormat('en-GB', { dateStyle: 'medium', timeStyle: 'medium', }).format(new Date(value)) } function JsonPanel({ title, value }) { return (

{title}

        {JSON.stringify(value ?? {}, null, 2)}
      
) } function FindingTable({ title, rows, columns }) { return (

{title}

{columns.map((column) => ( ))} {rows.length === 0 ? ( ) : rows.map((row, index) => ( {columns.map((column) => ( ))} ))}
{column.label}
No entries in this section.
{row[column.key] || '—'}
) } export default function SecurityReportShow({ report }) { return (

Status

{report.status}

Risk

{report.risk_label}

Started

{formatTimestamp(report.started_at)}

Finished

{formatTimestamp(report.finished_at)}

Triggered by

{report.triggered_by || 'Unknown'}

Requested by

{report.user ? (report.user.username ? `@${report.user.username}` : report.user.name) : 'System'}

Composer outdated

{report.composer_outdated_count}

npm outdated

{report.npm_outdated_count}

{report.error_message ? (
{report.error_message}
) : null}
Back to Reports

Critical

{report.total_critical}

High

{report.total_high}

Medium

{report.total_medium}

Low

{report.total_low}

Unknown

{report.total_unknown}

) }