diff --git a/src/Analysis.tsx b/src/Analysis.tsx index fb6902e..8993598 100644 --- a/src/Analysis.tsx +++ b/src/Analysis.tsx @@ -1,20 +1,30 @@ import { useEffect, useState } from "react"; import { baseUrl } from "./api"; +interface Prop { + name: string; + min: string; + max: string; + step: string; + value: string; +} + interface Params { nodeSize: number; edgeWidth: number; arrowSize: number; fontSize: number; + distance: number; } export default function Analysis() { const [image, setImage] = useState(""); const [params, setParams] = useState({ - nodeSize: 1600, + nodeSize: 2000, edgeWidth: 1, arrowSize: 20, fontSize: 10, + distance: 0.2, }); const [showControlPanel, setShowControlPanel] = useState(false); const [loading, setLoading] = useState(false); @@ -22,7 +32,7 @@ export default function Analysis() { // Function to generate and fetch the graph image async function loadImage() { setLoading(true); - await fetch(`${baseUrl}analysis/image`, { + await fetch(`${baseUrl}api/analysis/image`, { method: "POST", headers: { "Content-Type": "application/json", @@ -44,10 +54,23 @@ export default function Analysis() { - {showControlPanel && ( -
+
- +
+ + setParams({ ...params, distance: Number(evt.target.value) })} + onMouseUp={() => loadImage()} + /> + {params.distance}
+ +
+ loadImage()} /> {params.nodeSize} +
- +
+ loadImage()} /> {params.fontSize} +
- +
+ loadImage()} /> {params.edgeWidth} +
- +
+ loadImage()} /> {params.arrowSize} -
- )} + +
+ {loading ? ( ) : (