mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 12:11:11 -05:00
Fix sorting mechanism
This commit is contained in:
@@ -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({
|
||||||
|
|||||||
@@ -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]);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user