import { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { Shield, Users, FileText, Flag, AlertCircle } from 'lucide-react'; import { useUserRole } from '@/hooks/useUserRole'; 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 { ReportsQueue } from '@/components/moderation/ReportsQueue'; import { UserRoleManager } from '@/components/moderation/UserRoleManager'; export default function Admin() { const { user, loading: authLoading } = useAuth(); const { isModerator, loading: roleLoading } = useUserRole(); const navigate = useNavigate(); useEffect(() => { if (!authLoading && !roleLoading) { if (!user) { navigate('/auth'); return; } if (!isModerator()) { navigate('/'); return; } } }, [user, authLoading, roleLoading, isModerator, navigate]); if (authLoading || roleLoading) { return (
Loading admin panel...
Manage content moderation and user roles
Reviews awaiting moderation
User reports to review
Auto-flagged items