import React, { useState } from 'react';
import { Head, Link, router } from '@inertiajs/react';
import AdminLayout from '@/Layouts/AdminLayout';
import {
Users,
Search,
Filter,
MoreHorizontal,
CheckCircle2,
XCircle,
UserCheck,
UserX,
Mail,
Globe,
Briefcase,
Download,
Phone,
FileText
} from 'lucide-react';
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from '@/components/ui/table';
import { Badge } from '@/components/ui/badge';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu';
export default function WorkerManagement({ workers }) {
const [searchTerm, setSearchTerm] = useState('');
const [statusFilter, setStatusFilter] = useState('all');
const handleToggleStatus = (id, currentStatus) => {
const newStatus = currentStatus === 'active' ? 'inactive' : 'active';
router.post(`/admin/workers/${id}/toggle-status`, { status: newStatus });
};
const filteredWorkers = workers.filter(worker => {
const matchesSearch = worker.name.toLowerCase().includes(searchTerm.toLowerCase()) ||
worker.email.toLowerCase().includes(searchTerm.toLowerCase());
const matchesStatus = statusFilter === 'all' || worker.status === statusFilter;
return matchesSearch && matchesStatus;
});
return (
View and manage worker availability and account status.