mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 18:31:12 -05:00
Refactor: Separate escalated items queue
This commit is contained in:
@@ -238,9 +238,8 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
ascending: sort.config.direction === 'asc'
|
||||
});
|
||||
|
||||
// Apply sorting: escalated first (desc), then user's chosen field
|
||||
// Apply sorting by user's chosen field only
|
||||
submissionsQuery = submissionsQuery
|
||||
.order("escalated", { ascending: false })
|
||||
.order(sortField, { ascending: sort.config.direction === 'asc' });
|
||||
|
||||
// Apply tab-based status filtering
|
||||
@@ -249,6 +248,20 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
const entityFilter = filters.debouncedEntityFilter;
|
||||
|
||||
if (tab === "mainQueue") {
|
||||
// Main queue: non-escalated pending items
|
||||
submissionsQuery = submissionsQuery.eq("escalated", false);
|
||||
|
||||
if (statusFilter === "all") {
|
||||
submissionsQuery = submissionsQuery.in("status", ["pending", "flagged", "partially_approved"]);
|
||||
} else if (statusFilter === "pending") {
|
||||
submissionsQuery = submissionsQuery.in("status", ["pending", "partially_approved"]);
|
||||
} else {
|
||||
submissionsQuery = submissionsQuery.eq("status", statusFilter);
|
||||
}
|
||||
} else if (tab === "escalated") {
|
||||
// Escalated queue: only escalated items
|
||||
submissionsQuery = submissionsQuery.eq("escalated", true);
|
||||
|
||||
if (statusFilter === "all") {
|
||||
submissionsQuery = submissionsQuery.in("status", ["pending", "flagged", "partially_approved"]);
|
||||
} else if (statusFilter === "pending") {
|
||||
@@ -257,6 +270,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
submissionsQuery = submissionsQuery.eq("status", statusFilter);
|
||||
}
|
||||
} else {
|
||||
// Archive: completed items (non-escalated and escalated)
|
||||
if (statusFilter === "all") {
|
||||
submissionsQuery = submissionsQuery.in("status", ["approved", "rejected"]);
|
||||
} else {
|
||||
@@ -286,6 +300,18 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
|
||||
// Apply the exact same filters as the main query
|
||||
if (tab === "mainQueue") {
|
||||
countQuery = countQuery.eq("escalated", false);
|
||||
|
||||
if (statusFilter === "all") {
|
||||
countQuery = countQuery.in("status", ["pending", "flagged", "partially_approved"]);
|
||||
} else if (statusFilter === "pending") {
|
||||
countQuery = countQuery.in("status", ["pending", "partially_approved"]);
|
||||
} else {
|
||||
countQuery = countQuery.eq("status", statusFilter);
|
||||
}
|
||||
} else if (tab === "escalated") {
|
||||
countQuery = countQuery.eq("escalated", true);
|
||||
|
||||
if (statusFilter === "all") {
|
||||
countQuery = countQuery.in("status", ["pending", "flagged", "partially_approved"]);
|
||||
} else if (statusFilter === "pending") {
|
||||
|
||||
Reference in New Issue
Block a user