import { DataTableColumnHeader } from '@/components/data-table-column-header'; import { Button } from '@/components/ui/button'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { UserInfo } from '@/components/user-info'; import { usePermission } from '@/hooks/use-permission'; import userRoutes from '@/routes/user'; import type { User } from '@/types'; import { Link } from '@inertiajs/react'; import type { ColumnDef } from '@tanstack/react-table'; import { KeyRound, Pencil, Trash2 } from 'lucide-react'; interface ColumnProps { onResetPassword: (user: User) => void; onDelete: (user: User) => void; } export const getColumns = ({ onResetPassword, onDelete }: ColumnProps): ColumnDef[] => [ { accessorKey: "name", header: ({ column }) => ( ), meta: { title: "Nama dan Alamat Surel" }, cell: ({ row }) => { const user = row.original; return (
); } }, { accessorKey: "username", header: ({ column }) => ( ), meta: { title: "Nama Pengguna" }, }, { accessorFn: (row) => row.profile?.phone_number, id: "phone_number", header: ({ column }) => ( ), meta: { title: "Nomor Telepon" }, }, { id: "actions", header: "Aksi", cell: ({ row }) => { const user = row.original; const { hasPermission } = usePermission(); return (
{hasPermission('ResetPassword:User') && (

Reset Kata Sandi

)} {hasPermission('Edit:User') && (

Ubah

)} {hasPermission('Delete:User') && (

Hapus

)}
); }, meta: { title: "Aksi" }, }, ];