Files
certimate/ui/src/components/workflow/PanelBody.tsx
2025-01-03 20:29:34 +08:00

32 lines
865 B
TypeScript

import { type WorkflowNode, WorkflowNodeType } from "@/domain/workflow";
import ApplyNodeForm from "./node/ApplyNodeForm";
import DeployNodeForm from "./node/DeployNodeForm";
import NotifyNodeForm from "./node/NotifyNodeForm";
import StartNodeForm from "./node/StartNodeForm";
type PanelBodyProps = {
data: WorkflowNode;
};
const PanelBody = ({ data }: PanelBodyProps) => {
const getBody = () => {
switch (data.type) {
case WorkflowNodeType.Start:
return <StartNodeForm node={data} />;
case WorkflowNodeType.Apply:
return <ApplyNodeForm node={data} />;
case WorkflowNodeType.Deploy:
return <DeployNodeForm node={data} />;
case WorkflowNodeType.Notify:
return <NotifyNodeForm node={data} />;
default:
return <> </>;
}
};
return <>{getBody()}</>;
};
export default PanelBody;