UNPKG

@streambird/streambird-react

Version:
124 lines (123 loc) 5.97 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Streambird = void 0; var react_1 = __importStar(require("react")); var streambird_js_1 = require("@streambird/streambird-js"); var useStreambirdFactory = function () { var _a = __read((0, react_1.useState)(), 2), streambirdFactory = _a[0], setStreambirdFactory = _a[1]; (0, react_1.useEffect)(function () { (0, streambird_js_1.loadStreambird)().then(function (globalStreambird) { return setStreambirdFactory(function () { return globalStreambird; }); }); }, []); return streambirdFactory; }; var Streambird = function (props) { var StreambirdFactory = useStreambirdFactory(); var divId = 'streambird_io_login'; var publicToken = props.publicToken, config = props.config, callbacks = props.callbacks; (0, react_1.useEffect)(function () { if (!StreambirdFactory) { return; } var streambird = StreambirdFactory(publicToken); var getAutoVerify = function () { if (config && config.emailMagicLink) { if (config.emailMagicLink.hasOwnProperty('autoVerify')) { return config.emailMagicLink.autoVerify; } } return true; }; var getRequiresVerification = function () { if (config && config.emailMagicLink) { if (config.emailMagicLink.hasOwnProperty('requiresVerification')) { return config.emailMagicLink.requiresVerification; } } return true; }; var getShowHeaderText = function () { if (config && config.componentStyle) { if (config.componentStyle.hasOwnProperty('showHeaderText')) { return config.componentStyle.showHeaderText; } } return true; }; var options = { elementId: divId, enabledProducts: [streambird_js_1.ProductTypes.EmailMagicLink], config: { emailMagicLink: { loginRedirectUrl: config.emailMagicLink.loginRedirectUrl ? config.emailMagicLink.loginRedirectUrl : '', registrationRedirectUrl: config.emailMagicLink.registrationRedirectUrl ? config.emailMagicLink.registrationRedirectUrl : '', loginExpiresIn: config.emailMagicLink.loginExpiresIn ? config.emailMagicLink.loginExpiresIn : 5, registrationExpireIn: config.emailMagicLink.registrationExpireIn ? config.emailMagicLink.registrationExpireIn : 5, requiresVerification: getRequiresVerification(), autoVerify: getAutoVerify() }, componentStyle: { width: config.componentStyle.width ? config.componentStyle.width : 500, showHeaderText: getShowHeaderText(), headerText: config.componentStyle.headerText ? config.componentStyle.headerText : 'Sign in or register', headerTextColor: config.componentStyle.headerTextColor ? config.componentStyle.headerTextColor : '', bodyText: config.componentStyle.bodyText ? config.componentStyle.bodyText : 'Please enter your email address and sign up with a magic link to start using decentralized applications.', bodyTextColor: config.componentStyle.bodyTextColor ? config.componentStyle.bodyTextColor : '#333333', buttonTextColor: config.componentStyle.buttonTextColor ? config.componentStyle.buttonTextColor : '#FFFFFF', buttonColor: config.componentStyle.buttonColor ? config.componentStyle.buttonColor : '', errMsgColor: config.componentStyle.errMsgColor ? config.componentStyle.errMsgColor : '' } }, callbacks: callbacks }; if (config.wallet) { options.config['wallet'] = { walletType: config.wallet.walletType ? config.wallet.walletType : streambird_js_1.WalletType.Ethereum }; } if (config.apiHost && config.apiHost.length > 0) { options.config['apiHost'] = config.apiHost; } streambird.init(options); }, [StreambirdFactory, divId]); return divId ? react_1.default.createElement("div", { id: divId }) : null; }; exports.Streambird = Streambird;