diff --git a/src/components/dashboard/Officer_EventRequestManagement/EventRequestManagementTable.tsx b/src/components/dashboard/Officer_EventRequestManagement/EventRequestManagementTable.tsx index 53cd8cd..d89d79f 100644 --- a/src/components/dashboard/Officer_EventRequestManagement/EventRequestManagementTable.tsx +++ b/src/components/dashboard/Officer_EventRequestManagement/EventRequestManagementTable.tsx @@ -44,10 +44,10 @@ const EventRequestManagementTable = ({ const [eventRequests, setEventRequests] = useState(initialEventRequests); const [filteredRequests, setFilteredRequests] = useState(initialEventRequests); const [isRefreshing, setIsRefreshing] = useState(false); - const [statusFilter, setStatusFilter] = useState('all'); + const [statusFilter, setStatusFilter] = useState('active'); const [searchTerm, setSearchTerm] = useState(''); - const [sortField, setSortField] = useState('created'); - const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('desc'); + const [sortField, setSortField] = useState('start_date_time'); + const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc'); const dataSync = DataSyncService.getInstance(); // Add state for update modal const [isUpdateModalOpen, setIsUpdateModalOpen] = useState(false); @@ -137,9 +137,19 @@ const EventRequestManagementTable = ({ // Apply status filter if (statusFilter !== 'all') { - filtered = filtered.filter(request => - request.status?.toLowerCase() === statusFilter.toLowerCase() - ); + if (statusFilter === 'active') { + // Filter to show only submitted and pending events (hide completed and declined) + filtered = filtered.filter(request => { + const status = request.status?.toLowerCase(); + return status === 'submitted' || status === 'pending' || !status; // Include requests without status (assume pending) + }); + } else { + // For specific status filters, treat empty status as 'pending' + filtered = filtered.filter(request => { + const status = request.status?.toLowerCase() || 'pending'; // Default empty status to 'pending' + return status === statusFilter.toLowerCase(); + }); + } } // Apply search filter @@ -473,7 +483,7 @@ const EventRequestManagementTable = ({ // Apply filters when filter state changes useEffect(() => { applyFilters(); - }, [statusFilter, searchTerm, sortField, sortDirection]); + }, [statusFilter, searchTerm, sortField, sortDirection, eventRequests]); // Check authentication and refresh token if needed useEffect(() => { @@ -615,6 +625,7 @@ const EventRequestManagementTable = ({ value={statusFilter} onChange={(e) => setStatusFilter(e.target.value)} > +