diff --git a/frontend/src/components/pages/ReportingPage.js b/frontend/src/components/pages/ReportingPage.js index d5d905b..3e54e5d 100644 --- a/frontend/src/components/pages/ReportingPage.js +++ b/frontend/src/components/pages/ReportingPage.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useCallback, useRef, useMemo } from 'react'; import ReactDOM from 'react-dom'; -import { RefreshCw, Loader, AlertCircle, PieChart, ChevronUp, ChevronDown, ChevronsUpDown, Settings2, GripVertical, Eye, EyeOff, Filter, Download, RotateCcw, Trash2, X, ListTodo, Upload, FileText, Check, AlertTriangle, CornerUpRight, Edit3, Square, CheckSquare, MinusSquare, Search, Database, Plus } from 'lucide-react'; +import { RefreshCw, Loader, AlertCircle, PieChart, ChevronUp, ChevronDown, ChevronRight, ChevronsUpDown, Settings2, GripVertical, Eye, EyeOff, Filter, Download, RotateCcw, Trash2, X, ListTodo, Upload, FileText, Check, AlertTriangle, CornerUpRight, Edit3, Square, CheckSquare, MinusSquare, Search, Database, Plus } from 'lucide-react'; import * as XLSX from 'xlsx'; import { useAuth } from '../../contexts/AuthContext'; import IvantiCountsChart from './IvantiCountsChart'; @@ -1584,6 +1584,12 @@ function QueuePanel({ open, items, onClose, onUpdate, onDelete, onDeleteMany, on const [submissionsCollapsed, setSubmissionsCollapsed] = useState(() => localStorage.getItem('steam_submissions_collapsed') === 'true'); const [dismissError, setDismissError] = useState(null); + // Collapsible section state for queue groups + const [collapsedSections, setCollapsedSections] = useState({}); + const toggleSectionCollapse = (sectionKey) => { + setCollapsedSections((prev) => ({ ...prev, [sectionKey]: !prev[sectionKey] })); + }; + const toggleSubmissionsCollapsed = () => { setSubmissionsCollapsed(prev => { const next = !prev; @@ -2353,13 +2359,26 @@ function QueuePanel({ open, items, onClose, onUpdate, onDelete, onDeleteMany, on ) : grouped.map(({ key, label, items: groupItems, isInventory, cardItems, graniteItems, decomItems }) => (