import React, { PureComponent } from 'react'; import CaptionsButtonContainer from '/imports/ui/components/captions/button/container'; import deviceInfo from '/imports/utils/deviceInfo'; import Styled from './styles'; import ActionsDropdown from './actions-dropdown/container'; import AudioCaptionsButtonContainer from '/imports/ui/components/audio/captions/button/container'; import ScreenshareButtonContainer from '/imports/ui/components/actions-bar/screenshare/container'; import AudioControlsContainer from '../audio/audio-controls/container'; import JoinVideoOptionsContainer from '../video-provider/video-button/container'; import PresentationOptionsContainer from './presentation-options/component'; import RaiseHandDropdownContainer from './raise-hand/container'; import { isPresentationEnabled } from '/imports/ui/services/features'; class ActionsBar extends PureComponent { componentDidUpdate() { const { hasScreenshare, isSharingVideo, isTherePresentation, isSharedNotesPinned, setPresentationIsOpen, layoutContextDispatch } = this.props; if (!isTherePresentation && !hasScreenshare && !isSharingVideo && !isSharedNotesPinned) { setPresentationIsOpen(layoutContextDispatch, false); } } render() { const { amIPresenter, amIModerator, enableVideo, presentationIsOpen, setPresentationIsOpen, handleTakePresenter, intl, isSharingVideo, isSharedNotesPinned, hasScreenshare, stopExternalVideoShare, isCaptionsAvailable, isMeteorConnected, isPollingEnabled, isSelectRandomUserEnabled, isRaiseHandButtonEnabled, isThereCurrentPresentation, isTherePresentation, allowExternalVideo, setEmojiStatus, currentUser, layoutContextDispatch, actionsBarStyle, setMeetingLayout, showPushLayout, setPushLayout, } = this.props; const shouldShowOptionsButton = (isPresentationEnabled() && isThereCurrentPresentation) || isSharingVideo || hasScreenshare || isSharedNotesPinned; return ( {isCaptionsAvailable ? ( ) : null} { !deviceInfo.isMobile ? ( ) : null } {enableVideo ? ( ) : null} { shouldShowOptionsButton ? : null } {isRaiseHandButtonEnabled ? ( ) : null} ); } } export default ActionsBar;