react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
64 lines (63 loc) • 7.11 kB
JavaScript
import waitForLoad from "../utils/waitForLoad";
var domain = 'https://userlike-cdn-widgets.s3-eu-west-1.amazonaws.com';
/* eslint-disable */
var loadScript = function loadScript(providerKey) {
if (window.userlike) return false;
var d = document;
function l() {
var _x$parentNode;
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = "".concat(domain, "/").concat(providerKey, ".js");
var x = d.getElementsByTagName('script')[0];
(_x$parentNode = x.parentNode) === null || _x$parentNode === void 0 || _x$parentNode.insertBefore(s, x);
}
l();
return true;
};
/* eslint-enable */
var load = function load(_ref) {
var providerKey = _ref.providerKey,
setState = _ref.setState,
_ref$beforeInit = _ref.beforeInit,
beforeInit = _ref$beforeInit === void 0 ? function () {
return undefined;
} : _ref$beforeInit,
_ref$onReady = _ref.onReady,
onReady = _ref$onReady === void 0 ? function () {
return undefined;
} : _ref$onReady;
var loaded = loadScript(providerKey);
// Continue as long as userlike hasn’t already been initialised.
if (loaded) {
beforeInit();
waitForLoad(function () {
return !!window.userlike;
},
// Allow userlike to complete loading before removing fake widget
function () {
return setTimeout(function () {
setState('complete');
onReady();
}, 2000);
});
}
return true;
};
var open = function open() {
waitForLoad(function () {
var _window$userlike;
return !!((_window$userlike = window.userlike) !== null && _window$userlike !== void 0 && _window$userlike.userlikeStartChat);
},
// userlike is slow to show once it has loaded
function () {
return setTimeout(window.userlike.userlikeStartChat, 1000);
});
};
export default {
domain: domain,
load: load,
open: open
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3YWl0Rm9yTG9hZCIsImRvbWFpbiIsImxvYWRTY3JpcHQiLCJwcm92aWRlcktleSIsIndpbmRvdyIsInVzZXJsaWtlIiwiZCIsImRvY3VtZW50IiwibCIsIl94JHBhcmVudE5vZGUiLCJzIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJhc3luYyIsInNyYyIsImNvbmNhdCIsIngiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInBhcmVudE5vZGUiLCJpbnNlcnRCZWZvcmUiLCJsb2FkIiwiX3JlZiIsInNldFN0YXRlIiwiX3JlZiRiZWZvcmVJbml0IiwiYmVmb3JlSW5pdCIsInVuZGVmaW5lZCIsIl9yZWYkb25SZWFkeSIsIm9uUmVhZHkiLCJsb2FkZWQiLCJzZXRUaW1lb3V0Iiwib3BlbiIsIl93aW5kb3ckdXNlcmxpa2UiLCJ1c2VybGlrZVN0YXJ0Q2hhdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvdXNlcmxpa2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB3YWl0Rm9yTG9hZCBmcm9tICcuLi91dGlscy93YWl0Rm9yTG9hZCdcblxuY29uc3QgZG9tYWluID0gJ2h0dHBzOi8vdXNlcmxpa2UtY2RuLXdpZGdldHMuczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20nXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHVzZXJsaWtlOiB7XG4gICAgICB1c2VybGlrZVJlYWR5OiAoKSA9PiB2b2lkXG4gICAgICB1c2VybGlrZVN0YXJ0Q2hhdDogKCkgPT4gdm9pZFxuICAgICAgdXNlcmxpa2VRdWl0Q2hhdDogKCkgPT4gdm9pZFxuICAgIH1cbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuY29uc3QgbG9hZFNjcmlwdCA9IChwcm92aWRlcktleTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICh3aW5kb3cudXNlcmxpa2UpIHJldHVybiBmYWxzZVxuXG4gIHZhciBkID0gZG9jdW1lbnRcbiAgZnVuY3Rpb24gbCgpIHtcbiAgICB2YXIgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JylcbiAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0J1xuICAgIHMuYXN5bmMgPSB0cnVlXG4gICAgcy5zcmMgPSBgJHtkb21haW59LyR7cHJvdmlkZXJLZXl9LmpzYFxuICAgIHZhciB4ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF1cbiAgICB4LnBhcmVudE5vZGU/Lmluc2VydEJlZm9yZShzLCB4KVxuICB9XG4gIGwoKVxuXG4gIHJldHVybiB0cnVlXG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNvbnN0IGxvYWQgPSAoe1xuICBwcm92aWRlcktleSxcbiAgc2V0U3RhdGUsXG4gIGJlZm9yZUluaXQgPSAoKSA9PiB1bmRlZmluZWQsXG4gIG9uUmVhZHkgPSAoKSA9PiB1bmRlZmluZWRcbn06IHtcbiAgcHJvdmlkZXJLZXk6IHN0cmluZ1xuICBzZXRTdGF0ZTogKHN0YXRlOiBTdGF0ZSkgPT4gdm9pZFxuICBiZWZvcmVJbml0PzogKCkgPT4gdm9pZFxuICBvblJlYWR5PzogKCkgPT4gdm9pZFxufSk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBsb2FkZWQgPSBsb2FkU2NyaXB0KHByb3ZpZGVyS2V5KVxuICAvLyBDb250aW51ZSBhcyBsb25nIGFzIHVzZXJsaWtlIGhhc27igJl0IGFscmVhZHkgYmVlbiBpbml0aWFsaXNlZC5cbiAgaWYgKGxvYWRlZCkge1xuICAgIGJlZm9yZUluaXQoKVxuICAgIHdhaXRGb3JMb2FkKFxuICAgICAgKCkgPT4gISF3aW5kb3cudXNlcmxpa2UsXG4gICAgICAvLyBBbGxvdyB1c2VybGlrZSB0byBjb21wbGV0ZSBsb2FkaW5nIGJlZm9yZSByZW1vdmluZyBmYWtlIHdpZGdldFxuICAgICAgKCkgPT5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U3RhdGUoJ2NvbXBsZXRlJylcbiAgICAgICAgICBvblJlYWR5KClcbiAgICAgICAgfSwgMjAwMClcbiAgICApXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5jb25zdCBvcGVuID0gKCk6IHZvaWQgPT4ge1xuICB3YWl0Rm9yTG9hZChcbiAgICAoKSA9PiAhIXdpbmRvdy51c2VybGlrZT8udXNlcmxpa2VTdGFydENoYXQsXG4gICAgLy8gdXNlcmxpa2UgaXMgc2xvdyB0byBzaG93IG9uY2UgaXQgaGFzIGxvYWRlZFxuICAgICgpID0+IHNldFRpbWVvdXQod2luZG93LnVzZXJsaWtlLnVzZXJsaWtlU3RhcnRDaGF0LCAxMDAwKVxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZG9tYWluLFxuICBsb2FkLFxuICBvcGVuXG59XG4iXSwibWFwcGluZ3MiOiJBQUNBLE9BQU9BLFdBQVc7QUFFbEIsSUFBTUMsTUFBTSxHQUFHLHlEQUF5RDtBQWF4RTtBQUNBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxXQUFtQixFQUFjO0VBQ25ELElBQUlDLE1BQU0sQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sS0FBSztFQUVqQyxJQUFJQyxDQUFDLEdBQUdDLFFBQVE7RUFDaEIsU0FBU0MsQ0FBQ0EsQ0FBQSxFQUFHO0lBQUEsSUFBQUMsYUFBQTtJQUNYLElBQUlDLENBQUMsR0FBR0osQ0FBQyxDQUFDSyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2pDRCxDQUFDLENBQUNFLElBQUksR0FBRyxpQkFBaUI7SUFDMUJGLENBQUMsQ0FBQ0csS0FBSyxHQUFHLElBQUk7SUFDZEgsQ0FBQyxDQUFDSSxHQUFHLE1BQUFDLE1BQUEsQ0FBTWQsTUFBTSxPQUFBYyxNQUFBLENBQUlaLFdBQVcsUUFBSztJQUNyQyxJQUFJYSxDQUFDLEdBQUdWLENBQUMsQ0FBQ1csb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUFSLGFBQUEsR0FBQU8sQ0FBQyxDQUFDRSxVQUFVLGNBQUFULGFBQUEsZUFBWkEsYUFBQSxDQUFjVSxZQUFZLENBQUNULENBQUMsRUFBRU0sQ0FBQyxDQUFDO0VBQ2xDO0VBQ0FSLENBQUMsQ0FBQyxDQUFDO0VBRUgsT0FBTyxJQUFJO0FBQ2IsQ0FBQztBQUNEOztBQUVBLElBQU1ZLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFBQyxJQUFBLEVBVUs7RUFBQSxJQVRibEIsV0FBVyxHQUFBa0IsSUFBQSxDQUFYbEIsV0FBVztJQUNYbUIsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBQUMsZUFBQSxHQUFBRixJQUFBLENBQ1JHLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxlQUFBLGNBQUc7TUFBQSxPQUFNRSxTQUFTO0lBQUEsSUFBQUYsZUFBQTtJQUFBRyxZQUFBLEdBQUFMLElBQUEsQ0FDNUJNLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxZQUFBLGNBQUc7TUFBQSxPQUFNRCxTQUFTO0lBQUEsSUFBQUMsWUFBQTtFQU96QixJQUFNRSxNQUFNLEdBQUcxQixVQUFVLENBQUNDLFdBQVcsQ0FBQztFQUN0QztFQUNBLElBQUl5QixNQUFNLEVBQUU7SUFDVkosVUFBVSxDQUFDLENBQUM7SUFDWnhCLFdBQVcsQ0FDVDtNQUFBLE9BQU0sQ0FBQyxDQUFDSSxNQUFNLENBQUNDLFFBQVE7SUFBQTtJQUN2QjtJQUNBO01BQUEsT0FDRXdCLFVBQVUsQ0FBQyxZQUFNO1FBQ2ZQLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDcEJLLE9BQU8sQ0FBQyxDQUFDO01BQ1gsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUFBLENBQ1osQ0FBQztFQUNIO0VBRUEsT0FBTyxJQUFJO0FBQ2IsQ0FBQztBQUVELElBQU1HLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFBLEVBQWU7RUFDdkI5QixXQUFXLENBQ1Q7SUFBQSxJQUFBK0IsZ0JBQUE7SUFBQSxPQUFNLENBQUMsR0FBQUEsZ0JBQUEsR0FBQzNCLE1BQU0sQ0FBQ0MsUUFBUSxjQUFBMEIsZ0JBQUEsZUFBZkEsZ0JBQUEsQ0FBaUJDLGlCQUFpQjtFQUFBO0VBQzFDO0VBQ0E7SUFBQSxPQUFNSCxVQUFVLENBQUN6QixNQUFNLENBQUNDLFFBQVEsQ0FBQzJCLGlCQUFpQixFQUFFLElBQUksQ0FBQztFQUFBLENBQzNELENBQUM7QUFDSCxDQUFDO0FBRUQsZUFBZTtFQUNiL0IsTUFBTSxFQUFOQSxNQUFNO0VBQ05tQixJQUFJLEVBQUpBLElBQUk7RUFDSlUsSUFBSSxFQUFKQTtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=