Fix sorting mechanism

This commit is contained in:
gpt-engineer-app[bot]
2025-10-13 12:39:38 +00:00
parent 9a2e7ac43e
commit 3cd5904c31
2 changed files with 17 additions and 5 deletions

View File

@@ -163,6 +163,12 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
*/ */
const fetchItems = useCallback( const fetchItems = useCallback(
async (silent = false) => { async (silent = false) => {
console.log('🔄 [fetchItems RECREATED]', {
sortField: sort.field,
sortDirection: sort.direction,
timestamp: new Date().toISOString()
});
if (!user) return; if (!user) return;
// Get caller info // Get caller info
@@ -259,6 +265,12 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
submissionsQuery = submissionsQuery.order('created_at', { ascending: true }); submissionsQuery = submissionsQuery.order('created_at', { ascending: true });
} }
// Validate sort was applied
if (!sortColumn) {
console.error('❌ [Query] Sort column is undefined! Using fallback.');
submissionsQuery = submissionsQuery.order('created_at', { ascending: true });
}
// Apply tab-based status filtering // Apply tab-based status filtering
const tab = filters.activeTab; const tab = filters.activeTab;
const statusFilter = filters.debouncedStatusFilter; const statusFilter = filters.debouncedStatusFilter;
@@ -501,7 +513,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
setLoadingState("ready"); setLoadingState("ready");
} }
}, },
[user, isAdmin, isSuperuser, filters, pagination, profileCache, entityCache, toast, sort], [user, isAdmin, isSuperuser, filters, pagination, profileCache, entityCache, toast, sort.field, sort.direction],
); );
// Store fetchItems in ref to avoid re-creating visibility listener // Store fetchItems in ref to avoid re-creating visibility listener
@@ -949,7 +961,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
console.log('✅ Triggering refetch due to sort change'); console.log('✅ Triggering refetch due to sort change');
fetchItemsRef.current(false); fetchItemsRef.current(false);
} }
}, [sort.config.field, sort.config.direction]); }, [sort.field, sort.direction]);
// Initialize realtime subscriptions // Initialize realtime subscriptions
useRealtimeSubscriptions({ useRealtimeSubscriptions({

View File

@@ -4,7 +4,7 @@
* Manages sort configuration for the moderation queue with persistence. * Manages sort configuration for the moderation queue with persistence.
*/ */
import { useState, useCallback, useEffect } from 'react'; import { useState, useCallback, useEffect, useMemo } from 'react';
import type { SortConfig, SortField, SortDirection } from '@/types/moderation'; import type { SortConfig, SortField, SortDirection } from '@/types/moderation';
import { import {
getDefaultSortConfig, getDefaultSortConfig,
@@ -131,7 +131,7 @@ export function useModerationSort(config: ModerationSortConfig = {}): Moderation
// Check if using default config // Check if using default config
const isDefault = isDefaultSortConfig(sortConfig); const isDefault = isDefaultSortConfig(sortConfig);
return { return useMemo(() => ({
config: sortConfig, config: sortConfig,
field: sortConfig.field, field: sortConfig.field,
direction: sortConfig.direction, direction: sortConfig.direction,
@@ -141,5 +141,5 @@ export function useModerationSort(config: ModerationSortConfig = {}): Moderation
setConfig, setConfig,
reset, reset,
isDefault, isDefault,
}; }), [sortConfig, setField, setDirection, toggleSortDirection, setConfig, reset, isDefault]);
} }