mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-10 07:28:50 +00:00
64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
import { motion } from "framer-motion";
|
|
|
|
import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2";
|
|
import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context";
|
|
import { withProjectPermission } from "@app/hoc";
|
|
|
|
import {
|
|
MachineIdentityTab,
|
|
MemberListTab,
|
|
ProjectRoleListTab,
|
|
ServiceTokenTab
|
|
} from "./components";
|
|
|
|
enum TabSections {
|
|
Member = "members",
|
|
Roles = "roles",
|
|
MachineIdentities = "machine-identities",
|
|
ServiceTokens = "service-tokens"
|
|
}
|
|
|
|
export const MembersPage = withProjectPermission(
|
|
() => {
|
|
return (
|
|
<div className="container mx-auto flex flex-col justify-between bg-bunker-800 text-white">
|
|
<div className="mb-6 w-full py-6 px-6 max-w-7xl mx-auto">
|
|
<p className="mr-4 mb-4 text-3xl font-semibold text-white">
|
|
Access Control
|
|
</p>
|
|
<Tabs defaultValue={TabSections.Member}>
|
|
<TabList>
|
|
<Tab value={TabSections.Member}>People</Tab>
|
|
<Tab value={TabSections.MachineIdentities}>Machine Identities</Tab>
|
|
<Tab value={TabSections.ServiceTokens}>Service Tokens</Tab>
|
|
<Tab value={TabSections.Roles}>Project Roles</Tab>
|
|
</TabList>
|
|
<TabPanel value={TabSections.Member}>
|
|
<motion.div
|
|
key="panel-1"
|
|
transition={{ duration: 0.15 }}
|
|
initial={{ opacity: 0, translateX: 30 }}
|
|
animate={{ opacity: 1, translateX: 0 }}
|
|
exit={{ opacity: 0, translateX: 30 }}
|
|
>
|
|
<MemberListTab />
|
|
</motion.div>
|
|
</TabPanel>
|
|
<TabPanel value={TabSections.MachineIdentities}>
|
|
<MachineIdentityTab />
|
|
</TabPanel>
|
|
<TabPanel value={TabSections.ServiceTokens}>
|
|
<ServiceTokenTab />
|
|
</TabPanel>
|
|
<TabPanel value={TabSections.Roles}>
|
|
<ProjectRoleListTab />
|
|
</TabPanel>
|
|
</Tabs>
|
|
</div>
|
|
</div>
|
|
);
|
|
},
|
|
{ action: ProjectPermissionActions.Read, subject: ProjectPermissionSub.Member }
|
|
);
|