blob: 503d5ee7cfb1e4a0c9e30c64d5a24ef3284ad40a [file] [log] [blame]
gio5f2f1002025-03-20 18:38:48 +04001import { NodeAppDetails } from "./node-app";
2import { NodeGatewayHttpsDetails } from "./node-gateway-https";
3import { AppNode } from "@/lib/state";
4import { NodeVolumeDetails } from "./node-volume";
5import { NodePostgreSQLDetails } from "./node-postgresql";
6import { NodeMongoDBDetails } from "./node-mongodb";
7import { NodeGithubDetails } from "./node-github";
8import { NodeGatewayTCPDetails } from "./node-gateway-tcp";
9
giod0026612025-05-08 13:00:36 +000010export function NodeDetails(props: AppNode) {
giofcefd7c2025-05-13 08:01:07 +000011 return (
12 <div className="px-1 flex flex-col gap-2">
13 <NodeDetailsImpl {...props} />
14 </div>
15 );
16}
17
18function NodeDetailsImpl(props: AppNode) {
giod0026612025-05-08 13:00:36 +000019 switch (props.type) {
20 case "app":
21 return <NodeAppDetails {...props} />;
22 case "gateway-https":
23 return <NodeGatewayHttpsDetails {...props} />;
24 case "gateway-tcp":
25 return <NodeGatewayTCPDetails {...props} />;
26 case "volume":
27 return <NodeVolumeDetails {...props} />;
28 case "postgresql":
29 return <NodePostgreSQLDetails {...props} />;
30 case "mongodb":
31 return <NodeMongoDBDetails {...props} />;
32 case "github":
33 return <NodeGithubDetails {...props} />;
34 default:
35 return <>nooo</>;
36 }
37}