From 230a8b3826fc1a25e01c91b8a0e2bfd884a54703 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 26 Sep 2023 09:11:19 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(PageComponent/index.tsx):=20?= =?UTF-8?q?add=20timer=20to=20automatically=20save=20flow=20every=2030=20s?= =?UTF-8?q?econds=20to=20prevent=20data=20loss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/PageComponent/index.tsx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx index eae785fc7..050cad05c 100644 --- a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx @@ -160,6 +160,29 @@ export default function Page({ setExtraNavigation({ title: "Components" }); }, [setExtraComponent, setExtraNavigation]); + const [seconds, setSeconds] = useState(0); + + useEffect(() => { + const interval = setInterval(() => { + setSeconds((prevSeconds) => { + console.log(prevSeconds); + + let updatedSeconds = prevSeconds + 1; + + if (updatedSeconds % 30 === 0) { + saveFlow(flow); + updatedSeconds = 0; + } + + return updatedSeconds; + }); + }, 1000); + + return () => { + clearInterval(interval); + }; + }, []); + const onEdgesChangeMod = useCallback( (change: EdgeChange[]) => { onEdgesChange(change);