mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-03 17:26:38 +00:00
show disabled button for owner
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
Reference in New Issue
Block a user