blob: 4e286ce1cd9adfa2f6f74928795a413063dc1c43 [file] [log] [blame]
import React, { useMemo } from "react";
import { useStateStore, ServiceNode } from "@/lib/state";
import { NodeDetails } from "./components/node-details";
import { Actions } from "./components/actions";
import { Canvas } from "./components/canvas";
export function Overview(): React.ReactNode {
const store = useStateStore();
const nodes = useMemo(() => store.nodes, [store.nodes]);
const isDeployMode = useMemo(() => store.mode === "deploy", [store.mode]);
return (
<div className="h-full w-full overflow-auto bg-white p-2">
<div className="w-full flex flex-row justify-end">
<Actions />
<Canvas className="hidden" />
</div>
<div className="flex flex-wrap gap-4 pt-2">
{nodes
.filter((n): n is ServiceNode => n.type === "app")
.map((n) => {
return (
<div key={n.id} className="h-fit w-fit rounded-lg border-gray-200 border-2 p-2">
<NodeDetails disabled={isDeployMode} {...n} />
</div>
);
})}
</div>
</div>
);
}