Fix submission deletion and preserve filters

This commit is contained in:
gpt-engineer-app[bot]
2025-09-29 00:06:57 +00:00
parent c9cd4318d4
commit f9778dd9d9
2 changed files with 29 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
import { useEffect, useState, useCallback } from 'react';
import { useRef, useEffect, useCallback } from 'react';
import { useNavigate } from 'react-router-dom';
import { Shield, Users, FileText, Flag, AlertCircle } from 'lucide-react';
import { useUserRole } from '@/hooks/useUserRole';
@@ -6,7 +6,7 @@ import { useAuth } from '@/hooks/useAuth';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { ModerationQueue } from '@/components/moderation/ModerationQueue';
import { ModerationQueue, ModerationQueueRef } from '@/components/moderation/ModerationQueue';
import { ReportsQueue } from '@/components/moderation/ReportsQueue';
import { UserManagement } from '@/components/admin/UserManagement';
import { AdminHeader } from '@/components/layout/AdminHeader';
@@ -15,10 +15,10 @@ export default function Admin() {
const { user, loading: authLoading } = useAuth();
const { isModerator, loading: roleLoading } = useUserRole();
const navigate = useNavigate();
const [refreshKey, setRefreshKey] = useState(0);
const moderationQueueRef = useRef<ModerationQueueRef>(null);
const handleRefresh = useCallback(() => {
setRefreshKey(prev => prev + 1);
moderationQueueRef.current?.refresh();
}, []);
useEffect(() => {
@@ -128,11 +128,11 @@ export default function Admin() {
</TabsList>
<TabsContent value="queue">
<ModerationQueue key={`moderation-queue-${refreshKey}`} />
<ModerationQueue ref={moderationQueueRef} />
</TabsContent>
<TabsContent value="reports">
<ReportsQueue key={`reports-queue-${refreshKey}`} />
<ReportsQueue />
</TabsContent>
</Tabs>
</CardContent>
@@ -150,7 +150,7 @@ export default function Admin() {
</CardDescription>
</CardHeader>
<CardContent>
<UserManagement key={`user-management-${refreshKey}`} />
<UserManagement />
</CardContent>
</Card>
</div>