show disabled button for owner

This commit is contained in:
miloschwartz
2026-02-20 20:28:47 -08:00
parent 3f2bdf081f
commit f2dfadb37b

View File

@@ -155,62 +155,72 @@ export default function UsersTable({ users: u }: UsersTableProps) {
header: () => <span className="p-3"></span>, header: () => <span className="p-3"></span>,
cell: ({ row }) => { cell: ({ row }) => {
const userRow = row.original; const userRow = row.original;
const isCurrentUser =
`${userRow.username}-${userRow.idpId}` ===
`${user?.username}-${user?.idpId}`;
const isDisabled = userRow.isOwner || isCurrentUser;
return ( return (
<div className="flex items-center justify-end"> <div className="flex items-center justify-end">
<div> <div>
{!userRow.isOwner && ( <DropdownMenu>
<> <DropdownMenuTrigger asChild>
<DropdownMenu> <Button
<DropdownMenuTrigger asChild> variant="ghost"
<Button className="h-8 w-8 p-0"
variant="ghost" disabled={isDisabled}
className="h-8 w-8 p-0" >
> <span className="sr-only">
<span className="sr-only"> {t("openMenu")}
{t("openMenu")} </span>
</span> <MoreHorizontal className="h-4 w-4" />
<MoreHorizontal className="h-4 w-4" /> </Button>
</Button> </DropdownMenuTrigger>
</DropdownMenuTrigger> <DropdownMenuContent align="end">
<DropdownMenuContent align="end"> <Link
<Link href={`/${org?.org.orgId}/settings/access/users/${userRow.id}`}
href={`/${org?.org.orgId}/settings/access/users/${userRow.id}`} className="block w-full"
className="block w-full" aria-disabled={isDisabled}
> onClick={(e) =>
<DropdownMenuItem> isDisabled && e.preventDefault()
{t("accessUsersManage")} }
</DropdownMenuItem> >
</Link> <DropdownMenuItem
{`${userRow.username}-${userRow.idpId}` !== disabled={isDisabled}
`${user?.username}-${user?.idpId}` && ( >
<DropdownMenuItem {t("accessUsersManage")}
onClick={() => { </DropdownMenuItem>
setIsDeleteModalOpen( </Link>
true {!isDisabled && (
); <DropdownMenuItem
setSelectedUser( onClick={() => {
userRow setIsDeleteModalOpen(true);
); setSelectedUser(userRow);
}} }}
> >
<span className="text-red-500"> <span className="text-red-500">
{t("accessUserRemove")} {t("accessUserRemove")}
</span> </span>
</DropdownMenuItem> </DropdownMenuItem>
)} )}
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>
</>
)}
</div> </div>
{!userRow.isOwner && ( {isDisabled ? (
<Button
variant={"outline"}
className="ml-2"
disabled
>
{t("manage")}
<ArrowRight className="ml-2 w-4 h-4" />
</Button>
) : (
<Link <Link
href={`/${org?.org.orgId}/settings/access/users/${userRow.id}`} href={`/${org?.org.orgId}/settings/access/users/${userRow.id}`}
> >
<Button <Button
variant={"outline"} variant={"outline"}
className="ml-2" className="ml-2"
disabled={userRow.isOwner}
> >
{t("manage")} {t("manage")}
<ArrowRight className="ml-2 w-4 h-4" /> <ArrowRight className="ml-2 w-4 h-4" />