diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index 7e4d80f4d..9b7ec8b75 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -16,17 +16,19 @@ import { FETCH_ERROR_MESSAGE, } from "./constants/constants"; import { AuthContext } from "./contexts/authContext"; -import { locationContext } from "./contexts/locationContext"; import { getHealth, getRepoStars, getVersion } from "./controllers/API"; import Router from "./routes"; import useAlertStore from "./stores/alertStore"; import { useTypesStore } from "./stores/typesStore"; import { useDarkStore } from "./stores/darkStore"; import useFlowsManagerStore from "./stores/flowsManagerStore"; +import { useLocationStore } from "./stores/locationStore"; export default function App() { - let { setCurrent, setShowSideBar, setIsStackedOpen } = - useContext(locationContext); + const setCurrent = useLocationStore((state) => state.setCurrent); + const setShowSideBar = useLocationStore((state) => state.setShowSideBar); + const setIsStackedOpen = useLocationStore((state) => state.setIsStackedOpen); + let location = useLocation(); useEffect(() => { setCurrent(location.pathname.replace(/\/$/g, "").split("/")); diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 339eb73ac..f4a284327 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -6,7 +6,6 @@ import IconComponent from "../../components/genericIconComponent"; import InputComponent from "../../components/inputComponent"; import { Textarea } from "../../components/ui/textarea"; import { priorityFields } from "../../constants/constants"; -import { useSSE } from "../../contexts/SSEContext"; import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent"; import useFlowStore from "../../stores/flowStore"; import { validationStatusType } from "../../types/components"; @@ -80,7 +79,8 @@ export default function GenericNode({ }, [data, data.node]); // State for outline color - const { sseData, isBuilding } = useSSE(); + const sseData = useFlowStore((state) => state.sseData); + const isBuilding = useFlowStore((state) => state.isBuilding); useEffect(() => { setNodeDescription(data.node!.description); diff --git a/src/frontend/src/components/chatComponent/buildTrigger/index.tsx b/src/frontend/src/components/chatComponent/buildTrigger/index.tsx index 1dcc327ee..3a1a47d9a 100644 --- a/src/frontend/src/components/chatComponent/buildTrigger/index.tsx +++ b/src/frontend/src/components/chatComponent/buildTrigger/index.tsx @@ -1,18 +1,16 @@ import { Transition } from "@headlessui/react"; -import { useContext, useState } from "react"; +import { useState } from "react"; import Loading from "../../../components/ui/loading"; -import { useSSE } from "../../../contexts/SSEContext"; import { postBuildInit } from "../../../controllers/API"; import { FlowType } from "../../../types/flow"; import useAlertStore from "../../../stores/alertStore"; import useFlowStore from "../../../stores/flowStore"; -import useFlowsManagerStore from "../../../stores/flowsManagerStore"; import { parsedDataType } from "../../../types/components"; -import { FlowState } from "../../../types/tabs"; import { validateNodes } from "../../../utils/reactflowUtils"; import RadialProgressComponent from "../../RadialProgress"; import IconComponent from "../../genericIconComponent"; +import { stat } from "fs"; export default function BuildTrigger({ open, @@ -24,17 +22,17 @@ export default function BuildTrigger({ setIsBuilt: any; isBuilt: boolean; }): JSX.Element { - const { updateSSEData, isBuilding, setIsBuilding, sseData } = useSSE(); + const updateSSEData = useFlowStore((state) => state.updateSSEData); + const isBuilding = useFlowStore((state) => state.isBuilding); + const setIsBuilding = useFlowStore((state) => state.setIsBuilding); const nodes = useFlowStore((state) => state.nodes); const edges = useFlowStore((state) => state.edges); const setErrorData = useAlertStore((state) => state.setErrorData); const setSuccessData = useAlertStore((state) => state.setSuccessData); - const setCurrentFlowState = useFlowsManagerStore( - (state) => state.setCurrentFlowState + const setFlowState = useFlowStore( + (state) => state.setFlowState ); - const saveFlow = useFlowsManagerStore((state) => state.saveFlow); - const [isIconTouched, setIsIconTouched] = useState(false); const eventClick = isBuilding ? "pointer-events-none" : ""; const [progress, setProgress] = useState(0); @@ -79,7 +77,6 @@ export default function BuildTrigger({ } async function streamNodeData(flow: FlowType) { // Step 1: Make a POST request to send the flow data and receive a unique session ID - const id = saveFlow(flow, true); const response = await postBuildInit(flow); const { flowId } = response.data; // Step 2: Use the session ID to establish an SSE connection using EventSource @@ -102,7 +99,7 @@ export default function BuildTrigger({ // If the event is a log, log it setSuccessData({ title: parsedData.log }); } else if (parsedData.input_keys !== undefined) { - setCurrentFlowState(parsedData); + setFlowState(parsedData); } else { // Otherwise, process the data const isValid = processStreamResult(parsedData); @@ -148,14 +145,6 @@ export default function BuildTrigger({ } } - const handleMouseEnter = () => { - setIsIconTouched(true); - }; - - const handleMouseLeave = () => { - setIsIconTouched(false); - }; - return ( { handleBuild(flow); }} - onMouseEnter={handleMouseEnter} - onMouseLeave={handleMouseLeave} >