From dd838b4f5b02afc609e8a352a935755840845117 Mon Sep 17 00:00:00 2001 From: Sandip Godhani <72650657+Sandipxg@users.noreply.github.com> Date: Sun, 27 Sep 2026 15:52:15 +0530 Subject: [PATCH] fix(dashboard): prevent self-deletion in workspace members table (#2777) --- .../settings/members/data-table.tsx | 76 +++++++++++-------- 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/apps/dashboard/src/components/data-table/settings/members/data-table.tsx b/apps/dashboard/src/components/data-table/settings/members/data-table.tsx index 058ec2a5..d494af4c 100644 --- a/apps/dashboard/src/components/data-table/settings/members/data-table.tsx +++ b/apps/dashboard/src/components/data-table/settings/members/data-table.tsx @@ -1,3 +1,4 @@ +import { Badge } from "@openstatus/ui/components/ui/badge"; import { Table, TableBody, @@ -15,6 +16,7 @@ import { useTRPC } from "@/lib/trpc/client"; export function DataTable() { const trpc = useTRPC(); const { data: members, refetch } = useQuery(trpc.member.list.queryOptions()); + const { data: user } = useQuery(trpc.user.get.queryOptions()); const { data: workspace } = useQuery(trpc.workspace.get.queryOptions()); const deleteMemberMutation = useMutation( trpc.member.delete.mutationOptions({ @@ -38,37 +40,49 @@ export function DataTable() { - {members.map((item) => ( - - - {item.user.name ?? ( - - - )} - - {item.user.email} - {item.role} - - {formatDate(item.user.createdAt ?? item.createdAt)} - - -
- - await deleteMemberMutation.mutateAsync({ - id: item.user.id, - }), - }} - /> -
-
-
- ))} + {members.map((item) => { + const currentUserId = user?.id; + const isMe = Boolean(currentUserId && item.user.id === currentUserId); + const canDelete = Boolean( + currentUserId && item.user.id !== currentUserId, + ); + + return ( + + +
+ {item.user.name ?? ( + - + )} + {isMe ? You : null} +
+
+ {item.user.email} + {item.role} + + {formatDate(item.user.createdAt ?? item.createdAt)} + + + {canDelete ? ( +
+ + await deleteMemberMutation.mutateAsync({ + id: item.user.id, + }), + }} + /> +
+ ) : null} +
+
+ ); + })}
); -- 2.51.2