import { Head, Link } from '@inertiajs/react'; import { Trash2, Plus } from 'lucide-react'; import { DataTable } from '@/components/data-table'; import { DeleteConfirmation } from '@/components/modal/delete-confirmation'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; import roleRoutes from '@/routes/system/role'; import type { Role } from '@/types'; import { useRoleIndex } from './hooks/use-role-index'; import { getColumns } from './partials/columns'; import { usePermission } from '@/hooks/use-permission'; export default function RoleIndex({ roles }: { roles: Role[] }) { const { hasPermission } = usePermission(); const { isDeleteDialogOpen, isBulkDeleteDialogOpen, roleToDelete, rowsToDelete, rowSelection, setRowSelection, setRowsToDelete, setIsDeleteDialogOpen, setIsBulkDeleteDialogOpen, onDelete, confirmDelete, confirmBulkDelete, } = useRoleIndex(); const columns = getColumns({ onDelete }).filter( (col) => col.id !== 'actions' || hasPermission('Edit:Role') || hasPermission('Delete:Role') ); return (