Skip to content

Commit 3391c8c

Browse files
fix(users): wire CRUD actions via table meta
1 parent 2defae5 commit 3391c8c

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

src/app/(main)/dashboard/users/_components/UsersTable.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,36 @@ export default function UsersTable() {
3838
setUsers((prev) => [...prev, newUser]);
3939
};
4040

41+
// ✅ AJOUT DES HANDLERS (IMPORTANT)
42+
const handleEdit = (updated: User) => setUsers((prev) => prev.map((u) => (u.id === updated.id ? updated : u)));
43+
44+
const handleDelete = (id: number) => setUsers((prev) => prev.filter((u) => u.id !== id));
45+
46+
const handleSuspend = (id: number) =>
47+
setUsers((prev) => prev.map((u) => (u.id === id ? { ...u, status: "suspended" } : u)));
48+
49+
const handleUpdate = (id: number, field: "role" | "status", value: string) =>
50+
setUsers((prev) => prev.map((u) => (u.id === id ? { ...u, [field]: value } : u)));
51+
4152
const filteredUsers = useMemo(() => {
4253
return users.filter((user) => Object.values(user).join(" ").toLowerCase().includes(search.toLowerCase()));
4354
}, [users, search]);
4455

56+
// ✅ AJOUT DU META ICI
4557
const table = useReactTable({
4658
data: filteredUsers,
4759
columns,
4860
state: { sorting },
4961
onSortingChange: setSorting,
5062
getCoreRowModel: getCoreRowModel(),
5163
getSortedRowModel: getSortedRowModel(),
64+
65+
meta: {
66+
onEdit: handleEdit,
67+
onDelete: handleDelete,
68+
onSuspend: handleSuspend,
69+
onUpdate: handleUpdate,
70+
},
5271
});
5372

5473
return (

0 commit comments

Comments
 (0)