This commit is contained in:
Fredrik Burmester
2024-09-17 08:31:47 +02:00
parent 721cd093f4
commit ffe1003710
2 changed files with 68 additions and 63 deletions

View File

@@ -2,7 +2,9 @@ import { useRef, useCallback, useState, useEffect } from "react";
export const useControlsVisibility = (timeout: number = 3000) => {
const [isVisible, setIsVisible] = useState(true);
const hideControlsTimerRef = useRef<NodeJS.Timeout | null>(null);
const hideControlsTimerRef = useRef<ReturnType<typeof setTimeout> | null>(
null
);
const showControls = useCallback(() => {
setIsVisible(true);
@@ -21,5 +23,13 @@ export const useControlsVisibility = (timeout: number = 3000) => {
}
}, []);
useEffect(() => {
return () => {
if (hideControlsTimerRef.current) {
clearTimeout(hideControlsTimerRef.current);
}
};
}, []);
return { isVisible, showControls, hideControls };
};