Adjust OrgRoleTable

This commit is contained in:
Tuan Dang
2024-07-22 19:02:03 +07:00
parent 6ba1012f5b
commit 29d76c1deb
2 changed files with 77 additions and 75 deletions
@@ -110,8 +110,6 @@ export const OrgRoleTable = () => {
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionActions.Edit} I={OrgPermissionActions.Edit}
a={OrgPermissionSubjects.Role} a={OrgPermissionSubjects.Role}
renderTooltip
allowedLabel="Edit"
> >
{(isAllowed) => ( {(isAllowed) => (
<DropdownMenuItem <DropdownMenuItem
@@ -121,21 +119,17 @@ export const OrgRoleTable = () => {
onClick={(e) => { onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
router.push(`/org/${orgId}/roles/${id}`); router.push(`/org/${orgId}/roles/${id}`);
// onSelectRole(role);
}} }}
disabled={!isAllowed} disabled={!isAllowed}
> >
Edit Role {`${isNonMutatable ? "View" : "Edit"} Role`}
</DropdownMenuItem> </DropdownMenuItem>
)} )}
</OrgPermissionCan> </OrgPermissionCan>
{!isNonMutatable && (
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionActions.Delete} I={OrgPermissionActions.Delete}
a={OrgPermissionSubjects.Role} a={OrgPermissionSubjects.Role}
renderTooltip
allowedLabel={
isNonMutatable ? "Reserved roles are non-removable" : "Delete"
}
> >
{(isAllowed) => ( {(isAllowed) => (
<DropdownMenuItem <DropdownMenuItem
@@ -154,6 +148,7 @@ export const OrgRoleTable = () => {
</DropdownMenuItem> </DropdownMenuItem>
)} )}
</OrgPermissionCan> </OrgPermissionCan>
)}
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>
</Td> </Td>
+9 -2
View File
@@ -17,7 +17,7 @@ import {
} from "@app/components/v2"; } from "@app/components/v2";
import { OrgPermissionActions, OrgPermissionSubjects, useOrganization } from "@app/context"; import { OrgPermissionActions, OrgPermissionSubjects, useOrganization } from "@app/context";
import { withPermission } from "@app/hoc"; import { withPermission } from "@app/hoc";
import { useDeleteOrgRole,useGetOrgRole } from "@app/hooks/api"; import { useDeleteOrgRole, useGetOrgRole } from "@app/hooks/api";
import { usePopUp } from "@app/hooks/usePopUp"; import { usePopUp } from "@app/hooks/usePopUp";
import { RoleDetailsSection, RoleModal, RolePermissionsSection } from "./components"; import { RoleDetailsSection, RoleModal, RolePermissionsSection } from "./components";
@@ -64,6 +64,8 @@ export const RolePage = withPermission(
} }
}; };
const isCustomRole = !["admin", "member", "no-access"].includes(data?.slug ?? "");
return ( return (
<div className="container mx-auto flex flex-col justify-between bg-bunker-800 text-white"> <div className="container mx-auto flex flex-col justify-between bg-bunker-800 text-white">
{data && ( {data && (
@@ -81,6 +83,7 @@ export const RolePage = withPermission(
</Button> </Button>
<div className="mb-4 flex items-center justify-between"> <div className="mb-4 flex items-center justify-between">
<p className="text-3xl font-semibold text-white">{data.name}</p> <p className="text-3xl font-semibold text-white">{data.name}</p>
{isCustomRole && (
<DropdownMenu> <DropdownMenu>
<DropdownMenuTrigger asChild className="rounded-lg"> <DropdownMenuTrigger asChild className="rounded-lg">
<div className="hover:text-primary-400 data-[state=open]:text-primary-400"> <div className="hover:text-primary-400 data-[state=open]:text-primary-400">
@@ -107,7 +110,10 @@ export const RolePage = withPermission(
</DropdownMenuItem> </DropdownMenuItem>
)} )}
</OrgPermissionCan> </OrgPermissionCan>
<OrgPermissionCan I={OrgPermissionActions.Delete} a={OrgPermissionSubjects.Role}> <OrgPermissionCan
I={OrgPermissionActions.Delete}
a={OrgPermissionSubjects.Role}
>
{(isAllowed) => ( {(isAllowed) => (
<DropdownMenuItem <DropdownMenuItem
className={twMerge( className={twMerge(
@@ -126,6 +132,7 @@ export const RolePage = withPermission(
</OrgPermissionCan> </OrgPermissionCan>
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>
)}
</div> </div>
<div className="flex"> <div className="flex">
<div className="mr-4 w-96"> <div className="mr-4 w-96">