Popup window for Plex OAuth

This commit is contained in:
JonnyWong16 2018-07-03 09:46:12 -07:00
parent 176392d837
commit 5ee5ca7dbf
2 changed files with 26 additions and 1 deletions

View file

@ -470,3 +470,23 @@ function openPlexXML(endpoint, plextv, params) {
window.open(xml_url, '_blank');
});
}
function PopupCenter(url, title, w, h) {
// Fixes dual-screen position Most browsers Firefox
var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : window.screenX;
var dualScreenTop = window.screenTop != undefined ? window.screenTop : window.screenY;
var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
var left = ((width / 2) - (w / 2)) + dualScreenLeft;
var top = ((height / 2) - (h / 2)) + dualScreenTop;
var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
// Puts focus on the newWindow
if (window.focus) {
newWindow.focus();
}
return newWindow;
}

View file

@ -163,7 +163,9 @@
const code = data.code;
var keep_polling = true;
window.open('https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code);
var plex_oauth_window = PopupCenter(
'https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code,
'Plex-OAuth', 600, 700);
(function poll() {
polling = setTimeout(function () {
@ -174,6 +176,9 @@
success: function (data) {
if (data.authToken){
keep_polling = false;
if (plex_oauth_window) {
plex_oauth_window.close();
}
signIn(true, data.authToken);
}
},