From 6ceedc9a71179866f3ab171c01fd0c578a2b39ea Mon Sep 17 00:00:00 2001 From: Soul-H4cker Date: Fri, 12 Dec 2025 03:48:12 +0000 Subject: [PATCH] Sync progress bar with FiveM loadProgress events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated loading.jsx to listen for loadProgress messages - Progress bar now reflects actual game loading fraction (0–1) - Removed unused Fade import and cleaned up markup --- ui/src/components/loading.jsx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ui/src/components/loading.jsx b/ui/src/components/loading.jsx index b1a66b4..bf3ad71 100644 --- a/ui/src/components/loading.jsx +++ b/ui/src/components/loading.jsx @@ -18,24 +18,24 @@ function Loading() { } setAudiostate(!audiostate) } + useEffect(() => { - setTimeout(() => { - if (counter == slides.length - 1) { - setCounter(0); - } else { - setCounter(counter + 1); - } + const timer = setTimeout(() => { + setCounter((prev) => (prev === slides.length - 1 ? 0 : prev + 1)); }, 8000); + return () => clearTimeout(timer); }, [counter]); useEffect(() => { - setTimeout(() => { - if (progress < 100) { - setProgress(progress + 0.3); - } - }, 100); + const handleMessage = (event) => { + if (event.data.eventName !== "loadProgress") return; + // event.data.loadFraction is between 0 and 1 + setProgress(event.data.loadFraction * 100); + }; - }, [progress]); + window.addEventListener("message", handleMessage); + return () => window.removeEventListener("message", handleMessage); + }, []); return ( <>