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,16 +155,19 @@ 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> <DropdownMenu>
<DropdownMenuTrigger asChild> <DropdownMenuTrigger asChild>
<Button <Button
variant="ghost" variant="ghost"
className="h-8 w-8 p-0" className="h-8 w-8 p-0"
disabled={isDisabled}
> >
<span className="sr-only"> <span className="sr-only">
{t("openMenu")} {t("openMenu")}
@@ -176,21 +179,22 @@ export default function UsersTable({ users: u }: UsersTableProps) {
<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) =>
isDisabled && e.preventDefault()
}
>
<DropdownMenuItem
disabled={isDisabled}
> >
<DropdownMenuItem>
{t("accessUsersManage")} {t("accessUsersManage")}
</DropdownMenuItem> </DropdownMenuItem>
</Link> </Link>
{`${userRow.username}-${userRow.idpId}` !== {!isDisabled && (
`${user?.username}-${user?.idpId}` && (
<DropdownMenuItem <DropdownMenuItem
onClick={() => { onClick={() => {
setIsDeleteModalOpen( setIsDeleteModalOpen(true);
true setSelectedUser(userRow);
);
setSelectedUser(
userRow
);
}} }}
> >
<span className="text-red-500"> <span className="text-red-500">
@@ -200,17 +204,23 @@ export default function UsersTable({ users: u }: UsersTableProps) {
)} )}
</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" />