diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index f68c3ea73..04dbcdf04 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -14,6 +14,7 @@ import TabsManagerComponent from "./pages/FlowPage/components/tabsManagerCompone import { ErrorBoundary } from "react-error-boundary"; import CrashErrorComponent from "./components/CrashErrorComponent"; import { TabsContext } from "./contexts/tabsContext"; +import { SSEProvider } from "./contexts/SSEContext"; export default function App() { let { setCurrent, setShowSideBar, setIsStackedOpen } = @@ -128,7 +129,9 @@ export default function App() {
{/* Primary column */}
- + + +
diff --git a/src/frontend/src/contexts/SSEContext.tsx b/src/frontend/src/contexts/SSEContext.tsx new file mode 100644 index 000000000..8d90b26e2 --- /dev/null +++ b/src/frontend/src/contexts/SSEContext.tsx @@ -0,0 +1,35 @@ +import { + createContext, + useContext, + useState, + useEffect, + useCallback, +} from "react"; + +const initialValue = { + updateSSEData: ({}) => {}, + sseData: {}, +}; + +const SSEContext = createContext(initialValue); + +export function useSSE() { + return useContext(SSEContext); +} + +export function SSEProvider({ children }) { + const [sseData, setSSEData] = useState({}); + + const updateSSEData = useCallback((newData: any) => { + setSSEData((prevData) => ({ + ...prevData, + ...newData, + })); + }, []); + + return ( + + {children} + + ); +}