"use client"; import { useUsers, useDeleteUser } from "@/hooks/use-users"; import { Button } from "@/components/ui/button"; import { DataTable } from "@/components/common/data-table"; // Reuse Data Table import { Plus, MoreHorizontal, Pencil, Trash } from "lucide-react"; // Import Icons import { useState } from "react"; import { UserDialog } from "@/components/admin/user-dialog"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Badge } from "@/components/ui/badge"; import { ColumnDef } from "@tanstack/react-table"; import { User } from "@/types/user"; export default function UsersPage() { const { data: users, isLoading } = useUsers(); const deleteMutation = useDeleteUser(); const [dialogOpen, setDialogOpen] = useState(false); const [selectedUser, setSelectedUser] = useState(null); const columns: ColumnDef[] = [ { accessorKey: "username", header: "Username", }, { accessorKey: "email", header: "Email", }, { id: "name", header: "Name", cell: ({ row }) => `${row.original.first_name} ${row.original.last_name}`, }, { accessorKey: "is_active", header: "Status", cell: ({ row }) => ( {row.original.is_active ? "Active" : "Inactive"} ), }, { id: "actions", header: "Actions", cell: ({ row }) => { const user = row.original; return ( { setSelectedUser(user); setDialogOpen(true); }}> Edit { if (confirm("Are you sure?")) deleteMutation.mutate(user.user_id); }} > Delete ) } } ]; return (

User Management

Manage system users and roles

{isLoading ? (
Loading...
) : ( )}
); }