import { Head, Link } from '@inertiajs/react'; import type { User } from '@/types'; import { Card, CardContent } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Trash2, KeyRound } from 'lucide-react'; import { DataTable } from '@/components/data-table'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, } from "@/components/ui/alert-dialog" import userRoutes from '@/routes/user'; import { useUserIndex } from './hooks/use-user-index'; import { getColumns } from './partials/columns'; export default function UserIndex({ users, defaultPassword }: { users: User[], defaultPassword: string }) { const { isDeleteDialogOpen, isBulkDeleteDialogOpen, userToDelete, isResetPasswordOpen, userToReset, rowsToDelete, rowSelection, setRowSelection, setRowsToDelete, setIsDeleteDialogOpen, setIsBulkDeleteDialogOpen, setIsResetPasswordOpen, onResetPassword, confirmResetPassword, onDelete, confirmDelete, confirmBulkDelete, } = useUserIndex(); const columns = getColumns({ onResetPassword, onDelete }); return (

Pegawai

{ setRowsToDelete(rows); setIsBulkDeleteDialogOpen(true); }, icon: Trash2, variant: 'destructive' }, ]} /> {/* Single Delete Confirmation */} Hapus pegawai? Tindakan ini tidak dapat dibatalkan. Pegawai {userToDelete?.name} akan dihapus secara permanen. Batal Hapus {/* Reset Password Confirmation */} Reset password? Tindakan ini akan mereset password {userToReset?.name} menjadi {defaultPassword}. Pengguna dapat mengubahnya kembali nanti. Batal Reset {/* Bulk Delete Confirmation */} Hapus {rowsToDelete.length} pegawai? Tindakan ini tidak dapat dibatalkan. {rowsToDelete.length} pegawai yang terpilih akan dihapus secara permanen. Batal Hapus
); } UserIndex.layout = { breadcrumbs: [ { title: 'Master', }, ], };