feat : improve game loading flow

This commit is contained in:
GuillaumeSD
2025-05-09 01:53:34 +02:00
parent 5dc1c4f485
commit 34fdde282c
4 changed files with 137 additions and 114 deletions

24
src/hooks/useDebounce.ts Normal file
View File

@@ -0,0 +1,24 @@
import { useEffect, useState } from "react";
export function useDebounce<T>(value: T, delayMs: number): T {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
if (value === debouncedValue) return;
if (!debouncedValue) {
setDebouncedValue(value);
return;
}
const handler = setTimeout(() => {
setDebouncedValue(value);
}, delayMs);
return () => {
clearTimeout(handler);
};
}, [value, delayMs, debouncedValue]);
return debouncedValue;
}