Telegram Web K with changes to work inside I2P https://web.telegram.i2p/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

61 lines
1.9 KiB

/*
* https://github.com/morethanwords/tweb
* Copyright (C) 2019-2021 Eduard Kuzmenko
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
import type ListenerSetter from "../listenerSetter";
export function requestFullScreen(element: HTMLElement) {
if(element.requestFullscreen) {
element.requestFullscreen();
// @ts-ignore
} else if(element.mozRequestFullScreen) {
// @ts-ignore
element.mozRequestFullScreen(); // Firefox
// @ts-ignore
} else if(element.webkitRequestFullscreen) {
// @ts-ignore
element.webkitRequestFullscreen(); // Chrome and Safari
// @ts-ignore
} else if(element.msRequestFullscreen) {
// @ts-ignore
element.msRequestFullscreen();
}
}
export function cancelFullScreen() {
// @ts-ignore
if(document.cancelFullScreen) {
// @ts-ignore
document.cancelFullScreen();
// @ts-ignore
} else if(document.mozCancelFullScreen) {
// @ts-ignore
document.mozCancelFullScreen();
// @ts-ignore
} else if(document.webkitCancelFullScreen) {
// @ts-ignore
document.webkitCancelFullScreen();
// @ts-ignore
} else if(document.msExitFullscreen) {
// @ts-ignore
document.msExitFullscreen();
}
}
export function addFullScreenListener(element: HTMLElement, callback: (e: Event) => any, listenerSetter?: ListenerSetter) {
const addListener = listenerSetter ? listenerSetter.add(element) : element.addEventListener.bind(element);
'webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange'.split(' ').forEach(eventName => {
addListener(eventName, callback, false);
});
}
export function getFullScreenElement(): HTMLElement {
// @ts-ignore
return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
}
export function isFullScreen() {
return !!getFullScreenElement();
}