blob: 39ae05918b57963dd6e8b7c4d1db81fdc3dc7633 [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
gio08acd3a2025-06-12 12:15:30 +000010export function NodeDetails({ node, disabled }: { node: AppNode; disabled?: boolean }) {
giofcefd7c2025-05-13 08:01:07 +000011 return (
12 <div className="px-1 flex flex-col gap-2">
gio08acd3a2025-06-12 12:15:30 +000013 <NodeDetailsImpl node={node} disabled={disabled} />
giofcefd7c2025-05-13 08:01:07 +000014 </div>
15 );
16}
17
gio08acd3a2025-06-12 12:15:30 +000018function NodeDetailsImpl({ node, disabled }: { node: AppNode; disabled?: boolean }) {
19 switch (node.type) {
giod0026612025-05-08 13:00:36 +000020 case "app":
gio08acd3a2025-06-12 12:15:30 +000021 return <NodeAppDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000022 case "gateway-https":
gio08acd3a2025-06-12 12:15:30 +000023 return <NodeGatewayHttpsDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000024 case "gateway-tcp":
gio08acd3a2025-06-12 12:15:30 +000025 return <NodeGatewayTCPDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000026 case "volume":
gio08acd3a2025-06-12 12:15:30 +000027 return <NodeVolumeDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000028 case "postgresql":
gio08acd3a2025-06-12 12:15:30 +000029 return <NodePostgreSQLDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000030 case "mongodb":
gio08acd3a2025-06-12 12:15:30 +000031 return <NodeMongoDBDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000032 case "github":
gio08acd3a2025-06-12 12:15:30 +000033 return <NodeGithubDetails node={node} disabled={disabled} />;
giod0026612025-05-08 13:00:36 +000034 default:
35 return <>nooo</>;
36 }
37}