import React from 'react'; import { Users, CreditCard, Calendar, GraduationCap, FileText, Bell, UserPlus, Heart, Fingerprint } from 'lucide-react'; import { AppLayout } from '@/components/layout'; import { StatsGrid, DataTable } from '@/components/shared'; import { Button } from '@/components/ui/button'; import { TableRow, TableCell } from '@/components/ui/table'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogTrigger, } from "@/components/ui/dialog"; import { useEmployees } from '../hooks/useEmployees'; import { EmployeeForm } from './EmployeeForm'; import { rhService } from '../services/rhService'; import { useNavigate } from 'react-router-dom'; export const HRDashboard = () => { const navigate = useNavigate(); const { employees, addEmployeeRequest, updateEmployeeRequest, setEmployees } = useEmployees([]); const [isDialogOpen, setIsDialogOpen] = React.useState(false); const [editingRequest, setEditingRequest] = React.useState(null); const [stats, setStats] = React.useState([]); React.useEffect(() => { const fetchData = async () => { const dashboardStats = await rhService.getDashboardStats(); const requests = await rhService.getPendingRequests(); setStats(dashboardStats); setEmployees(requests); }; fetchData(); }, [setEmployees]); const sidebar = ( ); return (

Bem-vindo, Gestor

Temos novas solicitações aguardando sua revisão.

Solicitações Pendentes

{ setIsDialogOpen(open); if (!open) setEditingRequest(null); }}> {editingRequest ? 'Editar Solicitação' : 'Nova Solicitação de RH'} {editingRequest ? 'Atualize os dados da solicitação abaixo.' : 'Preencha os dados para criar uma nova solicitação de RH.'} { if (editingRequest) { updateEmployeeRequest(editingRequest.id, data); } else { addEmployeeRequest(data); } setIsDialogOpen(false); }} onCancel={() => setIsDialogOpen(false)} />
( {item.name} {item.type} {item.date} {item.status} )} />
); };