/* global interfaceConfig */ import React from 'react'; import { connect } from 'react-redux'; import { translate, translateToHTML } from '../../base/i18n'; import AbstractUserMediaPermissionsOverlay, { abstractMapStateToProps } from './AbstractUserMediaPermissionsOverlay'; import OverlayFrame from './OverlayFrame'; /** * Implements a React Component for overlay with guidance how to proceed with * gUM prompt. */ class UserMediaPermissionsOverlay extends AbstractUserMediaPermissionsOverlay { /** * Initializes a new UserMediaPermissionsOverlay instance. * * @param {Object} props - The read-only properties with which the new * instance is to be initialized. * @public */ constructor(props) { super(props); this.state = { /** * The src value of the image for the policy logo. * * @type {string} */ policyLogoSrc: interfaceConfig.POLICY_LOGO }; } /** * Implements React's {@link Component#render()}. * * @inheritdoc * @returns {ReactElement} */ render() { const { browser, t } = this.props; return (

{ t('startupoverlay.title', { postProcess: 'resolveAppName' }) }

{ translateToHTML(t, `userMedia.${browser}GrantPermissions`) }

{ translateToHTML(t, 'startupoverlay.policyText') }

{ this._renderPolicyLogo() }
); } /** * Renders the policy logo. * * @private * @returns {ReactElement|null} */ _renderPolicyLogo() { const { policyLogoSrc } = this.state; if (policyLogoSrc) { return (
); } return null; } } export default translate( connect(abstractMapStateToProps)(UserMediaPermissionsOverlay));