import React, { useState } from 'react';
import { Head, router } from '@inertiajs/react';
import AdminLayout from '@/Layouts/AdminLayout';
import {
ShieldAlert,
AlertTriangle,
CheckCircle,
XCircle,
Filter,
Flag,
Eye,
Plus,
UserX,
Settings,
FileText,
MessageSquare
} from 'lucide-react';
import { Badge } from '@/components/ui/badge';
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
} from '@/components/ui/dialog';
export default function SafetyHub({ reports, rules, moderation_queue }) {
const [selectedReport, setSelectedReport] = useState(null);
const [isDialogOpen, setIsDialogOpen] = useState(false);
const [resolutionAction, setResolutionAction] = useState('warn');
const [adminNotes, setAdminNotes] = useState('');
const handleResolve = (e) => {
e.preventDefault();
router.post(`/admin/safety/reports/${selectedReport.id}/resolve`, {
action: resolutionAction,
admin_notes: adminNotes
}, {
onSuccess: () => {
setIsDialogOpen(false);
}
});
};
const handleModQueue = (id, action) => {
router.post(`/admin/safety/reports/${id}/resolve`, { action }, {
onSuccess: () => {
setIsDialogOpen(false);
}
});
};
return (
Manage user abuse reports, content moderation queues, and customize automatic fraud filters.
Escalated complaints filed by employers or workers
{report.description}
Bio updates or pictures flagged for manual review
Parameters triggering system automated flags
{rule.trigger}
System triggered 14 keyword warning notices to employers for sharing email/phone details in chats prior to hiring offer completions today.