Skip to content

Commit 0366800

Browse files
committed
feat: add permissions tabs for playbooks
1 parent 934a0b2 commit 0366800

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/components/Playbooks/Settings/PlaybookSpecFormModal.tsx

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import { PlaybookSpec } from "@flanksource-ui/api/types/playbooks";
2+
import PermissionsView from "@flanksource-ui/components/Permissions/PermissionsView";
23
import { Modal } from "@flanksource-ui/ui/Modal";
4+
import { Tab, Tabs } from "@flanksource-ui/ui/Tabs/Tabs";
5+
import { useState } from "react";
36
import PlaybookSpecModalTitle from "../PlaybookSpecModalTitle";
47
import PlaybookSpecsForm from "./PlaybookSpecsForm";
58

@@ -16,6 +19,8 @@ export default function PlaybookSpecFormModal({
1619
onClose,
1720
...props
1821
}: PlaybookSpecFormModalProps) {
22+
const [activeTab, setActiveTab] = useState<"form" | "state">("form");
23+
1924
return (
2025
<Modal
2126
title={
@@ -31,7 +36,34 @@ export default function PlaybookSpecFormModal({
3136
bodyClass="flex flex-col w-full flex-1 h-full overflow-y-auto"
3237
helpLink="playbooks"
3338
>
34-
<PlaybookSpecsForm onClose={onClose} playbook={playbook} {...props} />
39+
{playbook?.id ? (
40+
<Tabs
41+
activeTab={activeTab}
42+
onSelectTab={(label) => setActiveTab(label)}
43+
>
44+
<Tab label="Edit" value={"form"} className="flex flex-1 flex-col">
45+
<PlaybookSpecsForm
46+
onClose={onClose}
47+
{...props}
48+
playbook={playbook}
49+
/>
50+
</Tab>
51+
52+
<Tab
53+
label="Permissions"
54+
value={"connections"}
55+
className="flex flex-1 flex-col"
56+
>
57+
<PermissionsView
58+
permissionRequest={{
59+
playbookId: playbook.id
60+
}}
61+
/>
62+
</Tab>
63+
</Tabs>
64+
) : (
65+
<PlaybookSpecsForm onClose={onClose} {...props} />
66+
)}
3567
</Modal>
3668
);
3769
}

0 commit comments

Comments
 (0)