Canvas: build application infrastructure with drag and drop
Change-Id: I5cfd12e67794f3376c5c025af29470d52d77cf16
diff --git a/apps/canvas/src/components/node-details.tsx b/apps/canvas/src/components/node-details.tsx
new file mode 100644
index 0000000..ba629c5
--- /dev/null
+++ b/apps/canvas/src/components/node-details.tsx
@@ -0,0 +1,21 @@
+import { NodeAppDetails } from "./node-app";
+import { NodeGatewayHttpsDetails } from "./node-gateway-https";
+import { AppNode } from "@/lib/state";
+import { NodeVolumeDetails } from "./node-volume";
+import { NodePostgreSQLDetails } from "./node-postgresql";
+import { NodeMongoDBDetails } from "./node-mongodb";
+import { NodeGithubDetails } from "./node-github";
+import { NodeGatewayTCPDetails } from "./node-gateway-tcp";
+
+export function NodeDetails(props : AppNode) {
+ switch (props.type) {
+ case "app": return (<NodeAppDetails {...props} />);
+ case "gateway-https": return (<NodeGatewayHttpsDetails {...props} />);
+ case "gateway-tcp": return (<NodeGatewayTCPDetails {...props} />);
+ case "volume": return (<NodeVolumeDetails {...props} />);
+ case "postgresql": return (<NodePostgreSQLDetails {...props} />);
+ case "mongodb": return (<NodeMongoDBDetails {...props} />);
+ case "github": return (<NodeGithubDetails {...props} />)
+ default: return (<>nooo</>);
+ }
+}
\ No newline at end of file