blob: eb024ea597c3a352bd9506a7e1f49db528c569b6 [file] [log] [blame]
gio4b9b58a2025-05-12 11:46:08 +00001import { useStateStore } from "./lib/state";
gioc31bf142025-06-16 07:48:20 +00002import { generateDodoConfig } from "../../config/src/config";
gio880de162025-05-11 07:26:00 +00003import JSONView from "@microlink/react-json-view";
gio40370782025-05-19 11:04:52 +00004import { useMemo } from "react";
gio5f2f1002025-03-20 18:38:48 +04005
gioda120432025-06-02 09:42:26 +00006export function Config(): React.ReactNode {
gio4b9b58a2025-05-12 11:46:08 +00007 const store = useStateStore();
gio40370782025-05-19 11:04:52 +00008 const config = useMemo(
9 () => generateDodoConfig(store.projectId, store.nodes, store.env),
10 [store.projectId, store.nodes, store.env],
11 );
12 const cleaned = useMemo(() => {
13 if (config == null) {
14 return null;
15 }
16 const { input: _, ...rest } = config;
17 return rest;
18 }, [config]);
giod0026612025-05-08 13:00:36 +000019 return (
gio8cadbc72025-05-16 07:51:02 +000020 <div className="h-full p-4 bg-muted overflow-auto text-xs">
giobc47f9f2025-05-12 08:31:07 +000021 <JSONView
gio40370782025-05-19 11:04:52 +000022 src={cleaned as object}
giobc47f9f2025-05-12 08:31:07 +000023 theme="rjv-default"
24 name={false}
25 displayDataTypes={false}
26 enableClipboard={true}
27 style={{ fontFamily: "JetBrains Mono" }}
28 />
29 </div>
giod0026612025-05-08 13:00:36 +000030 );
31}