UNPKG

@mornya/react-social-libs

Version:

The project of React.js Social Share and Widget modules.

112 lines (111 loc) 3.97 kB
import { DynamicLoad } from '@mornya/dynamic-load-libs'; export function initFacebookSDK(appId, isDebug) { if (isDebug === void 0) { isDebug = false; } var SDK_URL = { production: 'https://connect.facebook.net/ko_KR/sdk.js', debug: 'https://connect.facebook.net/ko_KR/sdk/debug.js', }; return new Promise(function (resolve) { if (!window.isInitializedFacebook) { window.isInitializedFacebook = true; if (!document.getElementById('fb-root')) { var fbRootDiv = document.createElement('div'); fbRootDiv.id = 'fb-root'; document.body.appendChild(fbRootDiv); } window.fbAsyncInit = function () { if (window.FB) { window.FB.init({ appId: appId, version: 'v17.0', autoLogAppEvents: true, cookie: true, status: true, xfbml: true, }); window.FB.getLoginStatus(function () { return resolve(true); }); } }; DynamicLoad.script({ id: 'fb-jssdk', src: SDK_URL[isDebug ? 'debug' : 'production'] }).catch(console.error); } else { resolve(true); } }); } export function destroyFacebookSDK() { if (window.FB) { window.FB = undefined; } if (window.fbAsyncInit) { window.fbAsyncInit = undefined; } window.isInitializedFacebook = undefined; } export function initTwitterSDK() { var SDK_URL = 'https://platform.twitter.com/widgets.js'; return new Promise(function (resolve) { if (!window.isInitializedTwitter) { window.isInitializedTwitter = true; DynamicLoad.script({ id: 'tw-jssdk', src: SDK_URL, isReload: true }) .then(function () { return resolve(true); }) .catch(console.error); } else { resolve(true); } }); } export function initKakaoSDK(appKey) { var SDK_URL = 'https://developers.kakao.com/sdk/js/kakao.min.js'; return new Promise(function (resolve) { if (!window.isInitializedKakao) { window.isInitializedKakao = true; window.kakaoAsyncInit = function () { window.Kakao.init(appKey); resolve(true); }; DynamicLoad.script({ id: 'kk-jssdk', src: SDK_URL, isReload: true }).catch(console.error); } else { var tid_1 = setInterval(function () { var _a; if ((_a = window.Kakao) === null || _a === void 0 ? void 0 : _a.isInitialized()) { clearInterval(tid_1); tid_1 = undefined; resolve(true); } }, 100); } }); } export function destroyKakaoSDK() { if (window.Kakao) { window.Kakao = undefined; } if (window.kakaoAsyncInit) { window.kakaoAsyncInit = undefined; } window.isInitializedKakao = undefined; } export function initFlipboardSDK() { var SDK_URL = 'https://cdn.flipboard.com/web/buttons/js/flbuttons.min.js'; return new Promise(function (resolve) { if (window.FlipboardWidgets && typeof window.FlipboardWidgets === 'function') { resolve(true); } else { DynamicLoad.script({ id: 'fl-jssdk', src: SDK_URL }) .then(function () { return resolve(true); }) .catch(console.error); } }); } export function initTumblrSDK() { var SDK_URL = 'https://assets.tumblr.com/share-button.js'; return new Promise(function (resolve) { DynamicLoad.script({ id: 'tu-jssdk', src: SDK_URL, isReload: true }) .then(function () { return resolve(true); }) .catch(console.error); }); }