UNPKG

@arc-publishing/sdk-identity

Version:
69 lines 2.87 kB
import { __awaiter, __generator } from "tslib"; import { getBrowserLocale, bestFacebookLocaleFor } from '../utils/locales'; import Identity from '../sdk/identity'; var FB_SDK_ID = 'facebook-jssdk'; export var loadFacebookSDK = function (fbLocale) { return new Promise(function (resolve, reject) { if (!document.getElementById(FB_SDK_ID)) { var element = document.createElement('script'); var parent_1 = 'body'; var attr = 'src'; element.onload = function () { resolve("https://connect.facebook.net/".concat(fbLocale, "/sdk.js")); }; element.onerror = function () { reject('Error loading Facebook SDK'); }; element.async = true; element.id = FB_SDK_ID; element[attr] = "https://connect.facebook.net/".concat(fbLocale, "/sdk.js"); document[parent_1].appendChild(element); } else { resolve(); } }); }; export function initFacebookLogin(appId, locale, customButton) { return __awaiter(this, void 0, void 0, function () { var fbAppId, userLocale, fbLocale; return __generator(this, function (_a) { switch (_a.label) { case 0: if (!(!appId && !Identity.configOptions)) return [3, 2]; return [4, Identity.getConfig()]; case 1: _a.sent(); _a.label = 2; case 2: fbAppId = appId ? appId : Identity.configOptions && Identity.configOptions.facebookAppId ? Identity.configOptions.facebookAppId.split(',')[0] : null; if (!!fbAppId) return [3, 3]; throw new Error('[Arc Identity SDK] - Facebook App ID not found, please add one in settings or explicitly pass one to the initFacebookLogin method.'); case 3: userLocale = locale ? locale : getBrowserLocale(); fbLocale = bestFacebookLocaleFor(userLocale); return [4, loadFacebookSDK(fbLocale)]; case 4: _a.sent(); if (customButton) { Identity._useCustomFBButton = true; } window.FB.init({ appId: fbAppId, autoLogAppEvents: true, xfbml: true, status: true, version: 'v20.0' }); _a.label = 5; case 5: return [2]; } }); }); } export default initFacebookLogin; //# sourceMappingURL=initFacebookLogin.js.map