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