feat: Implement complete queue system

This commit is contained in:
gpt-engineer-app[bot]
2025-10-06 14:43:31 +00:00
parent d955037990
commit 3dec0b2a97
6 changed files with 417 additions and 16 deletions

View File

@@ -1,5 +1,5 @@
import { useState, useEffect, useImperativeHandle, forwardRef } from 'react';
import { CheckCircle, XCircle, Eye, Calendar, User, Filter, MessageSquare, FileText, Image, X, Trash2, ListTree, RefreshCw, AlertCircle, Clock, Lock, Unlock } from 'lucide-react';
import { CheckCircle, XCircle, Eye, Calendar, User, Filter, MessageSquare, FileText, Image, X, Trash2, ListTree, RefreshCw, AlertCircle, Clock, Lock, Unlock, AlertTriangle, UserCog, Zap } from 'lucide-react';
import { Button } from '@/components/ui/button';
import { Badge } from '@/components/ui/badge';
import { Card, CardContent, CardHeader } from '@/components/ui/card';
@@ -21,6 +21,9 @@ import { MeasurementDisplay } from '@/components/ui/measurement-display';
import { useAdminSettings } from '@/hooks/useAdminSettings';
import { useModerationQueue } from '@/hooks/useModerationQueue';
import { Progress } from '@/components/ui/progress';
import { QueueStatsDashboard } from './QueueStatsDashboard';
import { EscalationDialog } from './EscalationDialog';
import { ReassignDialog } from './ReassignDialog';
interface ModerationItem {
id: string;
@@ -69,6 +72,9 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
const [reviewManagerOpen, setReviewManagerOpen] = useState(false);
const [selectedSubmissionId, setSelectedSubmissionId] = useState<string | null>(null);
const [lockedSubmissions, setLockedSubmissions] = useState<Set<string>>(new Set());
const [escalationDialogOpen, setEscalationDialogOpen] = useState(false);
const [reassignDialogOpen, setReassignDialogOpen] = useState(false);
const [selectedItemForAction, setSelectedItemForAction] = useState<ModerationItem | null>(null);
const { toast } = useToast();
const { isAdmin, isSuperuser } = useUserRole();
const { user } = useAuth();