Files
justice/www/html/Login/login.js
T
2026-05-26 08:33:40 +00:00

69 lines
2.9 KiB
JavaScript

(function () {
var btnFacebook = document.getElementById('btn-facebook');
var btnGoogle = document.getElementById('btn-google');
var btnGuest = document.getElementById('btn-guest');
var linkPrivacy = document.getElementById('link-privacy');
function loadOauthPublic() {
return fetch((typeof appPath === 'function' ? appPath('/Admin/api/oauth-public.php') : '/Admin/api/oauth-public.php'), { credentials: 'omit' })
.then(function (r) { return r.json(); })
.then(function (j) {
if (!j || !j.ok) return null;
return j;
})
.catch(function () { return null; });
}
function goGuest() {
// ไปหน้า Main Lobby แบบ Guest
localStorage.setItem('isLoggedIn', 'true');
localStorage.setItem('loginType', 'guest');
window.location.href = typeof appPath === 'function' ? appPath('/Main-Lobby/') : '/Main-Lobby/';
}
if (btnFacebook) {
btnFacebook.addEventListener('click', function () {
loadOauthPublic().then(function (cfg) {
if (!cfg || !cfg.facebookAppId) {
alert('ยังไม่ได้ตั้งค่า Facebook App ในหน้า /Admin/');
return;
}
var ru = cfg.facebookRedirectUri || (location.origin + (typeof appPath === 'function' ? appPath('/Login/facebook-callback.html') : '/Login/facebook-callback.html'));
var state = encodeURIComponent('fb-' + Date.now());
var url = 'https://www.facebook.com/v18.0/dialog/oauth?client_id=' + encodeURIComponent(cfg.facebookAppId) +
'&redirect_uri=' + encodeURIComponent(ru) + '&state=' + state + '&scope=email,public_profile';
window.location.href = url;
});
});
}
if (btnGoogle) {
btnGoogle.addEventListener('click', function () {
loadOauthPublic().then(function (cfg) {
if (!cfg || !cfg.googleClientId) {
alert('ยังไม่ได้ตั้งค่า Google Client ในหน้า /Admin/');
return;
}
var ru = cfg.googleRedirectUri || (location.origin + (typeof appPath === 'function' ? appPath('/Login/google-callback.html') : '/Login/google-callback.html'));
var state = encodeURIComponent('go-' + Date.now());
var url = 'https://accounts.google.com/o/oauth2/v2/auth?client_id=' + encodeURIComponent(cfg.googleClientId) +
'&redirect_uri=' + encodeURIComponent(ru) + '&response_type=code&scope=' +
encodeURIComponent('openid email profile') + '&state=' + state + '&access_type=online&prompt=select_account';
window.location.href = url;
});
});
}
if (btnGuest) {
btnGuest.addEventListener('click', goGuest);
}
if (linkPrivacy) {
linkPrivacy.addEventListener('click', function (e) {
e.preventDefault();
// TODO: เปิดหน้านโยบายความเป็นส่วนตัว
console.log('นโยบายความเป็นส่วนตัว');
});
}
})();