From e1472dfc721663f2079c79b593b4df8fff7309be Mon Sep 17 00:00:00 2001 From: Vitaly Baev Date: Sun, 25 Mar 2018 11:01:55 +0300 Subject: [PATCH] =?UTF-8?q?LIL-282=20-=20=D0=9E=D0=B1=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?=20Facebook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/js/modules/auth.js | 57 ++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/web/src/js/modules/auth.js b/web/src/js/modules/auth.js index dcda0d5e..3ec8780e 100644 --- a/web/src/js/modules/auth.js +++ b/web/src/js/modules/auth.js @@ -41,7 +41,7 @@ $(document).ready(function () { pass.hide(); login.fadeIn(); }); - + $('#password-reset__success-hide').on('click', function (e) { e.preventDefault(); $('#password-reset__form-wrapper').show(); @@ -265,36 +265,45 @@ $(document).ready(function () { }); $.ajaxSetup({cache: true}); - $.getScript('https://connect.facebook.net/en_US/sdk.js'); + load_facebook(); const facebookButton = $('button.btn_fb'); facebookButton.on('click', function () { $('.auth-register__common-error').hide(); facebookButton.addClass('loading'); - $.getScript('https://connect.facebook.net/en_US/sdk.js', function () { - FB.init({ - appId: '161924711105785', - version: 'v2.7' - }); - FB.getLoginStatus(function (response) { - if (response.status === 'connected') { - login_with_facebook(response.authResponse.accessToken); - } - else { - FB.login(function (response) { - if (response.status === 'connected') { - login_with_facebook(response.authResponse.accessToken); - } else { - facebookButton.removeClass('loading'); - $('.auth-register__common-error').text('Не удалось авторизоваться через Facebook'); - } - }, {scope: 'public_profile,email'}); - } - }); - }); + + if (facebookResponse) { + if (facebookResponse.status === 'connected') { + login_with_facebook(facebookResponse.authResponse.accessToken); + return; + } + } + + FB.login(function (response) { + if (response.status === 'connected') { + login_with_facebook(response.authResponse.accessToken); + } else { + facebookButton.removeClass('loading'); + $('.auth-register__common-error').text('Не удалось авторизоваться через Facebook'); + } + }, {scope: 'public_profile,email'}); }); }); +let facebookResponse; + +function load_facebook() { + $.getScript('https://connect.facebook.net/en_US/sdk.js', function () { + FB.init({ + appId: '161924711105785', + version: 'v2.7' + }); + FB.getLoginStatus(function (response) { + facebookResponse = response; + }); + }); +} + function login_with_facebook(accessToken) { $.ajax('/auth/facebook_login/', { method: 'POST', @@ -316,4 +325,4 @@ function login_with_facebook(accessToken) { .always(function () { $('button.btn_fb').removeClass('loading'); }); -} \ No newline at end of file +}