import { useState } from "react"; import { Modal, ModalContent } from "@app/components/v2"; import { PamResourceType, TPamAccount } from "@app/hooks/api/pam"; import { PamAccountForm } from "./PamAccountForm/PamAccountForm"; import { ResourceSelect } from "./ResourceSelect"; type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; projectId: string; onComplete?: (account: TPamAccount) => void; currentFolderId: string | null; }; type ContentProps = { onComplete: (account: TPamAccount) => void; projectId: string; currentFolderId: string | null; }; const Content = ({ onComplete, projectId, currentFolderId }: ContentProps) => { const [selectedResource, setSelectedResource] = useState<{ id: string; name: string; resourceType: PamResourceType; } | null>(null); if (selectedResource) { return ( setSelectedResource(null)} resourceId={selectedResource.id} resourceName={selectedResource.name} resourceType={selectedResource.resourceType} projectId={projectId} folderId={currentFolderId ?? undefined} /> ); } return setSelectedResource(e.resource)} />; }; export const PamAddAccountModal = ({ isOpen, onOpenChange, projectId, onComplete, currentFolderId }: Props) => { return ( { if (onComplete) onComplete(account); onOpenChange(false); }} currentFolderId={currentFolderId} /> ); };