diff --git a/frontend/src/components/pages/ReportingPage.js b/frontend/src/components/pages/ReportingPage.js index 3dced22..37d4a92 100644 --- a/frontend/src/components/pages/ReportingPage.js +++ b/frontend/src/components/pages/ReportingPage.js @@ -9,6 +9,7 @@ const STORAGE_KEY = 'steam_findings_columns_v1'; // Column definitions — source of truth for labels, sort behaviour, rendering // --------------------------------------------------------------------------- const COLUMN_DEFS = { + findingId: { label: 'Finding ID', sortable: true, filterable: false }, severity: { label: 'Severity', sortable: true, filterable: true }, title: { label: 'Title', sortable: true, filterable: true }, cves: { label: 'CVEs', sortable: true, filterable: true, multiValue: true }, @@ -23,6 +24,7 @@ const COLUMN_DEFS = { }; const DEFAULT_COLUMN_ORDER = [ + { key: 'findingId', visible: true }, { key: 'severity', visible: true }, { key: 'title', visible: true }, { key: 'cves', visible: true }, @@ -63,6 +65,7 @@ function saveColumnOrder(order) { // --------------------------------------------------------------------------- function getVal(finding, key) { switch (key) { + case 'findingId': return finding.id ?? ''; case 'severity': return finding.severity ?? 0; case 'title': return finding.title ?? ''; case 'hostName': return finding.hostName ?? ''; @@ -449,6 +452,12 @@ function FilterDropdown({ anchorEl, colKey, findings, activeFilter, onFilterChan // --------------------------------------------------------------------------- function TableCell({ colKey, finding }) { switch (colKey) { + case 'findingId': + return ( + + {finding.id || '—'} + + ); case 'severity': { const sc = severityColor(finding.vrrGroup); return (