Files
tweakcn/hooks/use-fullscreen.ts
2025-04-17 14:18:28 +05:30

31 lines
662 B
TypeScript

import { useState, useEffect } from "react";
import screenfull from "screenfull";
export const useFullscreen = () => {
const [isFullscreen, setIsFullscreen] = useState(false);
useEffect(() => {
if (screenfull.isEnabled) {
const handleFullscreenChange = () => {
setIsFullscreen(screenfull.isFullscreen);
};
screenfull.on("change", handleFullscreenChange);
return () => {
screenfull.off("change", handleFullscreenChange);
};
}
}, []);
const toggleFullscreen = () => {
if (screenfull.isEnabled) {
screenfull.toggle();
}
};
return {
isFullscreen,
toggleFullscreen,
};
};