From 9a2e7ac43e8fe58f836115d84a8ac5763db4b880 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 12:33:59 +0000 Subject: [PATCH] Fix sorting logic in moderation queue --- .../moderation/useModerationQueueManager.ts | 50 ++++++++++++------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/src/hooks/moderation/useModerationQueueManager.ts b/src/hooks/moderation/useModerationQueueManager.ts index 8a1558b2..d9bd322a 100644 --- a/src/hooks/moderation/useModerationQueueManager.ts +++ b/src/hooks/moderation/useModerationQueueManager.ts @@ -238,25 +238,26 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): item_data, status ) - `, - ) - // Apply user-selected sort configuration - const sortColumn = getSortColumn(sort.field); - const sortAscending = sort.direction === 'asc'; + ` + ); - console.log('[Query] Applying sort:', { - uiField: sort.field, - dbColumn: sortColumn, - direction: sort.direction, - ascending: sortAscending - }); + // Apply user-selected sort configuration + const sortColumn = getSortColumn(sort.field); + const sortAscending = sort.direction === 'asc'; - submissionsQuery = submissionsQuery.order(sortColumn, { ascending: sortAscending }); + console.log('[Query] Applying sort:', { + uiField: sort.field, + dbColumn: sortColumn, + direction: sort.direction, + ascending: sortAscending + }); - // Secondary sort by created_at for consistency when primary sort has ties - if (sortColumn !== 'created_at') { - submissionsQuery = submissionsQuery.order('created_at', { ascending: true }); - } + submissionsQuery = submissionsQuery.order(sortColumn, { ascending: sortAscending }); + + // Secondary sort by created_at for consistency when primary sort has ties + if (sortColumn !== 'created_at') { + submissionsQuery = submissionsQuery.order('created_at', { ascending: true }); + } // Apply tab-based status filtering const tab = filters.activeTab; @@ -307,6 +308,21 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): const endIndex = pagination.endIndex; submissionsQuery = submissionsQuery.range(startIndex, endIndex); + // Log the final query for debugging + console.log('[Query] Final query about to execute:', { + sortApplied: sortColumn, + sortDirection: sortAscending ? 'ASC' : 'DESC', + filtersApplied: { + tab: filters.activeTab, + status: filters.debouncedStatusFilter, + entity: filters.debouncedEntityFilter, + }, + pagination: { + startIndex, + endIndex + } + }); + const { data: submissions, error: submissionsError } = await submissionsQuery; if (submissionsError) throw submissionsError; @@ -485,7 +501,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): setLoadingState("ready"); } }, - [user, isAdmin, isSuperuser, filters, pagination, profileCache, entityCache, toast], + [user, isAdmin, isSuperuser, filters, pagination, profileCache, entityCache, toast, sort], ); // Store fetchItems in ref to avoid re-creating visibility listener