import { useCallback, useEffect, useState } from "react"; export function useFullscreen({ containerRef, }: { containerRef: React.RefObject; }) { const [isFullscreen, setIsFullscreen] = useState(false); useEffect(() => { const handleChange = () => { setIsFullscreen(document.fullscreenElement !== null); }; document.addEventListener("fullscreenchange", handleChange); return () => { document.removeEventListener("fullscreenchange", handleChange); }; }, []); const toggleFullscreen = useCallback(() => { if (!containerRef.current) return; if (document.fullscreenElement) { document.exitFullscreen(); } else { containerRef.current.requestFullscreen(); } }, [containerRef]); return { isFullscreen, toggleFullscreen }; }