| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 1 | import { useNodes } from "@xyflow/react"; |
| gio | 7d81370 | 2025-05-08 18:29:52 +0000 | [diff] [blame] | 2 | import { AppNode, useEnv, useProjectId } from "./lib/state"; |
| gio | 5f2f100 | 2025-03-20 18:38:48 +0400 | [diff] [blame] | 3 | import { generateDodoConfig } from "./lib/config"; |
| 4 | import { useEffect, useMemo, useState } from "react"; |
| 5 | |
| 6 | export function Config() { |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 7 | const env = useEnv(); |
| gio | 7d81370 | 2025-05-08 18:29:52 +0000 | [diff] [blame] | 8 | const projectId = useProjectId(); |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 9 | const [nodes, setNodes] = useState<AppNode[]>([]); |
| 10 | const n = useNodes<AppNode>(); |
| 11 | useEffect(() => { |
| 12 | console.log(n); |
| 13 | if (n && n.length > 0) { |
| 14 | setNodes(n); |
| 15 | } |
| 16 | }, [n, setNodes]); |
| gio | 3a921b8 | 2025-05-10 07:36:09 +0000 | [diff] [blame^] | 17 | const config = useMemo(() => generateDodoConfig(projectId, nodes, env), [projectId, nodes, env]); |
| gio | d002661 | 2025-05-08 13:00:36 +0000 | [diff] [blame] | 18 | const configS = useMemo(() => JSON.stringify(config, undefined, 4), [config]); |
| 19 | return ( |
| 20 | <div className="px-5"> |
| 21 | <pre>{configS}</pre> |
| 22 | </div> |
| 23 | ); |
| 24 | } |