| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 1 | import { NodeAppDetails } from "./node-app"; |
| 2 | import { NodeGatewayHttpsDetails } from "./node-gateway-https"; |
| 3 | import { AppNode } from "@/lib/state"; |
| 4 | import { NodeVolumeDetails } from "./node-volume"; |
| 5 | import { NodePostgreSQLDetails } from "./node-postgresql"; |
| 6 | import { NodeMongoDBDetails } from "./node-mongodb"; |
| 7 | import { NodeGithubDetails } from "./node-github"; |
| 8 | import { NodeGatewayTCPDetails } from "./node-gateway-tcp"; |
| 9 | |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 10 | export function NodeDetails({ node, disabled }: { node: AppNode; disabled?: boolean }) { |
| gio | fcefd7c | 2025-05-13 08:01:07 +0000 | [diff] [blame] | 11 | return ( |
| 12 | <div className="px-1 flex flex-col gap-2"> |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 13 | <NodeDetailsImpl node={node} disabled={disabled} /> |
| gio | fcefd7c | 2025-05-13 08:01:07 +0000 | [diff] [blame] | 14 | </div> |
| 15 | ); |
| 16 | } |
| 17 | |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 18 | function NodeDetailsImpl({ node, disabled }: { node: AppNode; disabled?: boolean }) { |
| 19 | switch (node.type) { |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 20 | case "app": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 21 | return <NodeAppDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 22 | case "gateway-https": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 23 | return <NodeGatewayHttpsDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 24 | case "gateway-tcp": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 25 | return <NodeGatewayTCPDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 26 | case "volume": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 27 | return <NodeVolumeDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 28 | case "postgresql": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 29 | return <NodePostgreSQLDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 30 | case "mongodb": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 31 | return <NodeMongoDBDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 32 | case "github": |
| gio | 08acd3a | 2025-06-12 12:15:30 +0000 | [diff] [blame^] | 33 | return <NodeGithubDetails node={node} disabled={disabled} />; |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 34 | default: |
| 35 | return <>nooo</>; |
| 36 | } |
| 37 | } |