1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-22 14:57:40 +01:00
smov/src/components/video/controls/FullscreenControl.tsx

29 lines
704 B
TypeScript
Raw Normal View History

2023-01-08 16:23:42 +01:00
import { useCallback } from "react";
import { useVideoPlayerState } from "../VideoContext";
2023-01-08 13:15:32 +01:00
const canFullscreen = document.fullscreenEnabled;
2023-01-08 13:15:32 +01:00
export function FullscreenControl() {
2023-01-08 16:23:42 +01:00
const { videoState } = useVideoPlayerState();
2023-01-08 13:15:32 +01:00
2023-01-08 16:23:42 +01:00
const handleClick = useCallback(() => {
if (videoState.isFullscreen) videoState.exitFullscreen();
else videoState.enterFullscreen();
}, [videoState]);
2023-01-08 13:15:32 +01:00
if (!canFullscreen) return null;
2023-01-08 16:23:42 +01:00
let text = "not fullscreen";
if (videoState.isFullscreen) text = "in fullscreen";
2023-01-08 13:15:32 +01:00
2023-01-08 16:23:42 +01:00
return (
<button
className="m-1 rounded bg-denim-100 p-1 text-white hover:opacity-75"
type="button"
onClick={handleClick}
>
{text}
</button>
);
2023-01-08 13:15:32 +01:00
}