/* 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 title = 'HipChat Video needs to use your microphone and camera.'; let text; text = 'Select "Allow" when your browser asks for these permissions.'; let content = ( `

${title}

${text}
` ); if (interfaceConfig.HAS_POLICY) { content += ( `

` ); } return content; } } /** * 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(); } };