From 4bba7c888e5a58d8bb08e57b53e7498f6b32a0cc Mon Sep 17 00:00:00 2001 From: en Date: Mon, 3 Feb 2025 19:52:26 +0100 Subject: [PATCH] refactor(games): cache games data --- src/hooks/useGames.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hooks/useGames.ts b/src/hooks/useGames.ts index 6e49003..b6397ba 100644 --- a/src/hooks/useGames.ts +++ b/src/hooks/useGames.ts @@ -5,11 +5,14 @@ import { Game } from 'types' import { log, LogType } from 'utils' import gameFiles from '../utils/games' +let cachedGamesData: Game[] | null = null + export const useGames = () => { const hasProcessedFiles = useRef(false) - const [games, setGames] = useState([]) + const [games, setGames] = useState(cachedGamesData || []) useEffect(() => { + if (cachedGamesData) return if (hasProcessedFiles.current) return hasProcessedFiles.current = true @@ -52,6 +55,7 @@ export const useGames = () => { }) await Promise.all(promises) + cachedGamesData = uniqueGames setGames(uniqueGames) } catch (err) { log(