| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { translate } from '../../base/i18n';
/**
 * A React Component for displaying the conference lock state.
 */
class LockStatePanel extends Component {
    /**
     * {@code LockStatePanel}'s property types.
     *
     * @static
     */
    static propTypes = {
        /**
         * Whether or not the conference is currently locked.
         */
        locked: PropTypes.bool,
        /**
         * Invoked to obtain translated strings.
         */
        t: PropTypes.func
    };
    /**
     * Implements React's {@link Component#render()}.
     *
     * @inheritdoc
     * @returns {ReactElement}
     */
    render() {
        let iconClass;
        let stateClass;
        let textKey;
        if (this.props.locked) {
            iconClass = 'icon-security-locked';
            stateClass = 'is-locked';
            textKey = 'invite.locked';
        } else {
            iconClass = 'icon-security';
            stateClass = 'is-unlocked';
            textKey = 'invite.unlocked';
        }
        return (
            <div className = { `lock-state ${stateClass}` }>
                <span className = { iconClass } />
                <span>
                    { this.props.t(textKey) }
                </span>
            </div>
        );
    }
}
export default translate(LockStatePanel);
 |