import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import classnames from 'classnames'; import * as appPropTypes from './appPropTypes'; import * as requestActions from '../redux/requestActions'; import fscreen from 'fscreen'; class Sidebar extends Component { state = { fullscreen : false }; handleToggleFullscreen = () => { if (fscreen.fullscreenElement) { fscreen.exitFullscreen(); } else { fscreen.requestFullscreen(document.documentElement); } }; handleFullscreenChange = () => { this.setState({ fullscreen : fscreen.fullscreenElement !== null }); }; componentDidMount() { if (fscreen.fullscreenEnabled) { fscreen.addEventListener('fullscreenchange', this.handleFullscreenChange); } } componentWillUnmount() { if (fscreen.fullscreenEnabled) { fscreen.removeEventListener('fullscreenchange', this.handleFullscreenChange); } } render() { const { toolbarsVisible, me, screenProducer, onLogin, onShareScreen, onUnShareScreen, onNeedExtension, onLeaveMeeting, onLogout, onToggleHand } = this.props; let screenState; let screenTip; if (me.needExtension) { screenState = 'need-extension'; screenTip = 'Install screen sharing extension'; } else if (!me.canShareScreen) { screenState = 'unsupported'; screenTip = 'Screen sharing not supported'; } else if (screenProducer) { screenState = 'on'; screenTip = 'Stop screen sharing'; } else { screenState = 'off'; screenTip = 'Start screen sharing'; } return (