/* global interfaceConfig */ import Overlay from '../overlay/Overlay'; /** * An overlay with guidance how to proceed with gUM prompt. */ class GUMOverlayImpl extends Overlay { /** * Constructs overlay with guidance how to proceed with gUM prompt. * @param {string} browser - name of browser for which to construct the * guidance overlay. * @override */ constructor(browser) { super(); this.browser = browser; } /** * @inheritDoc */ _buildOverlayContent() { let textKey = `userMedia.${this.browser}GrantPermissions`; let titleKey = 'startupoverlay.title'; let titleOptions = '{ "postProcess": "resolveAppName" }'; let policyTextKey = 'startupoverlay.policyText'; let policyLogo = ''; let policyLogoSrc = interfaceConfig.POLICY_LOGO; if (policyLogoSrc) { policyLogo += ( `` ); } return ( `

${policyLogo}
` ); } } /** * Stores GUM overlay instance. * @type {GUMOverlayImpl} */ let overlay; export default { /** * Checks whether the overlay is currently visible. * @return {boolean} true if the overlay is visible * or false otherwise. */ isVisible () { return overlay && overlay.isVisible(); }, /** * Shows browser-specific overlay with guidance how to proceed with * gUM prompt. * @param {string} browser - name of browser for which to show the * guidance overlay. */ show(browser) { if (!overlay) { overlay = new GUMOverlayImpl(browser); } overlay.show(); }, /** * Hides browser-specific overlay with guidance how to proceed with * gUM prompt. */ hide() { overlay && overlay.hide(); } };