From c9f93a2a9bbec67de01a372da90ae3d3d5541ba4 Mon Sep 17 00:00:00 2001 From: Jordan Ramos Date: Fri, 22 May 2026 11:29:09 -0600 Subject: [PATCH] Wire ConsolidationModal into QueuePanel slide-out on Reporting page The multi-select consolidated Jira ticket feature was built into a standalone page that doesn't exist. This wires it into the actual QueuePanel slide-out where users work. Adds a '+ Jira (N)' button to the footer action bar that opens the ConsolidationModal when 2+ items are selected, or the single-item Jira modal for 1 item. --- .../src/components/pages/ReportingPage.js | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/frontend/src/components/pages/ReportingPage.js b/frontend/src/components/pages/ReportingPage.js index 960fbc5..da8272d 100644 --- a/frontend/src/components/pages/ReportingPage.js +++ b/frontend/src/components/pages/ReportingPage.js @@ -8,6 +8,7 @@ import AnomalyBanner from './AnomalyBanner'; import CveTooltip from '../CveTooltip'; import RedirectModal from '../RedirectModal'; import AtlasBadge from '../AtlasBadge'; +import ConsolidationModal from '../ConsolidationModal'; import AtlasSlideOutPanel from '../AtlasSlideOutPanel'; import AtlasIcon from '../AtlasIcon'; @@ -1543,6 +1544,9 @@ function QueuePanel({ open, items, onClose, onUpdate, onDelete, onDeleteMany, on const [createJiraSaving, setCreateJiraSaving] = useState(false); const [createJiraSummaryError, setCreateJiraSummaryError] = useState(null); + // Consolidated Jira ticket modal state (multi-item → 1 ticket) + const [showConsolidationModal, setShowConsolidationModal] = useState(false); + // CARD Asset Search state const [assetSearchOpen, setAssetSearchOpen] = useState(false); const [assetSearchTeam, setAssetSearchTeam] = useState(''); @@ -2756,6 +2760,37 @@ function QueuePanel({ open, items, onClose, onUpdate, onDelete, onDeleteMany, on ); })()} {/* Delete selected — only shown when items are selected */} + {selectedIds.size > 0 && ( + + )} {selectedIds.size > 0 && (