mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-09 01:13:55 +00:00
0e450cb6cb
* feat(csv): export data as csv file * feat(table): toggle fullscreen * ux: coordinate tooltip open delay * feat(excelDates): update tests * refactor: folder structure
32 lines
995 B
JavaScript
32 lines
995 B
JavaScript
import { useCallback, useEffect, useState } from 'react';
|
|
|
|
|
|
export default function useFullscreen() {
|
|
const [isFullScreen, setFullScreen] = useState(document.fullscreenElement);
|
|
|
|
useEffect(() => {
|
|
const handleChange = () => {
|
|
setFullScreen(document.fullscreenElement);
|
|
};
|
|
document.addEventListener('fullscreenchange', handleChange, { passive: true });
|
|
document.addEventListener('resize', handleChange, { passive: true });
|
|
|
|
return () => {
|
|
document.removeEventListener('fullscreenchange', handleChange, { passive: true });
|
|
document.removeEventListener('resize', handleChange, { passive: true });
|
|
}; }, []);
|
|
|
|
const toggleFullScreen = useCallback(() => {
|
|
if (!document.fullscreenElement) {
|
|
document.documentElement.requestFullscreen();
|
|
} else {
|
|
if (document.exitFullscreen) {
|
|
document.exitFullscreen();
|
|
}
|
|
}
|
|
setFullScreen(document.fullscreenElement);
|
|
}, []);
|
|
|
|
return { isFullScreen, toggleFullScreen };
|
|
}
|