Fix: Better fullscreen detection and do not rerender when details shown

pull/16/head
Juraj Nyíri 4 years ago
parent 13360d13b6
commit 1e9f51c0bb

@ -19056,7 +19056,8 @@ const getOffset = (el) => {
const isVideoFullScreen = (_this) => { const isVideoFullScreen = (_this) => {
const videoPlayer = _this.getElementsByClassName('videoPlayer')[0]; const videoPlayer = _this.getElementsByClassName('videoPlayer')[0];
const video = videoPlayer.children[0]; const video = videoPlayer.children[0];
return (video.offsetWidth > _this.getElementsByClassName('searchContainer')[0].offsetWidth || const body = document.getElementsByTagName('body')[0];
return ((video.offsetWidth === body.offsetHeight && video.offsetHeight === body.offsetHeight) ||
(_this.videoElem && _this.videoElem.classList.contains('simulatedFullScreen'))); (_this.videoElem && _this.videoElem.classList.contains('simulatedFullScreen')));
}; };
const findTrailerURL = (movieData) => { const findTrailerURL = (movieData) => {
@ -19841,6 +19842,7 @@ class PlexMeetsHomeAssistant extends HTMLElement {
this.previousPositions = []; this.previousPositions = [];
// todo: find a better way to detect resize... // todo: find a better way to detect resize...
setInterval(() => { setInterval(() => {
if (!this.detailsShown) {
const videoPlayer = this.getElementsByClassName('videoPlayer')[0]; const videoPlayer = this.getElementsByClassName('videoPlayer')[0];
let isFullScreen = false; let isFullScreen = false;
if (videoPlayer.children.length > 0) { if (videoPlayer.children.length > 0) {
@ -19870,6 +19872,7 @@ class PlexMeetsHomeAssistant extends HTMLElement {
this.contentBGHeight = getHeight(contentbg[0]); this.contentBGHeight = getHeight(contentbg[0]);
} }
} }
}
}, 250); }, 250);
this.renderPage(); this.renderPage();
}; };

@ -46,8 +46,9 @@ const getOffset = (el: Element): Record<string, any> => {
const isVideoFullScreen = (_this: any): boolean => { const isVideoFullScreen = (_this: any): boolean => {
const videoPlayer = _this.getElementsByClassName('videoPlayer')[0] as HTMLElement; const videoPlayer = _this.getElementsByClassName('videoPlayer')[0] as HTMLElement;
const video = videoPlayer.children[0] as any; const video = videoPlayer.children[0] as any;
const body = document.getElementsByTagName('body')[0];
return ( return (
video.offsetWidth > (_this.getElementsByClassName('searchContainer')[0] as HTMLElement).offsetWidth || (video.offsetWidth === body.offsetHeight && video.offsetHeight === body.offsetHeight) ||
(_this.videoElem && _this.videoElem.classList.contains('simulatedFullScreen')) (_this.videoElem && _this.videoElem.classList.contains('simulatedFullScreen'))
); );
}; };

@ -167,6 +167,7 @@ class PlexMeetsHomeAssistant extends HTMLElement {
// todo: find a better way to detect resize... // todo: find a better way to detect resize...
setInterval(() => { setInterval(() => {
if (!this.detailsShown) {
const videoPlayer = this.getElementsByClassName('videoPlayer')[0] as HTMLElement; const videoPlayer = this.getElementsByClassName('videoPlayer')[0] as HTMLElement;
let isFullScreen = false; let isFullScreen = false;
if (videoPlayer.children.length > 0) { if (videoPlayer.children.length > 0) {
@ -199,6 +200,7 @@ class PlexMeetsHomeAssistant extends HTMLElement {
this.contentBGHeight = getHeight(contentbg[0] as HTMLElement); this.contentBGHeight = getHeight(contentbg[0] as HTMLElement);
} }
} }
}
}, 250); }, 250);
this.renderPage(); this.renderPage();

Loading…
Cancel
Save