smov/src/components/video/controls/FullscreenControl.tsx
2023-01-08 13:15:32 +01:00

26 lines
621 B
TypeScript

import { useCallback, useContext } from "react";
import {
VideoPlayerContext,
VideoPlayerDispatchContext,
} from "../VideoContext";
export function FullscreenControl() {
const dispatch = useContext(VideoPlayerDispatchContext);
const video = useContext(VideoPlayerContext);
const handleClick = useCallback(() => {
dispatch({
type: "FULLSCREEN",
do: video.fullscreen ? "EXIT" : "ENTER",
});
}, [video, dispatch]);
let text = "not fullscreen";
if (video.fullscreen) text = "in fullscreen";
return (
<button type="button" onClick={handleClick}>
{text}
</button>
);
}