import React from 'react'; import { Grid, Divider, Button, Label, Responsive, Checkbox, Segment, Image, } from 'semantic-ui-react'; import { withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; import { RemoteService } from '../remote'; import SimulationPanel from './SimulationPanel'; const IconHomeImage = () => ( ); const TitleImage = () => ; class MyHeader extends React.Component { constructor(props) { super(props); this.state = { simulationPanel: undefined }; this.getInfo(); this.logout = this.logout.bind(this); } logout() { this.props.logout().then(() => this.props.history.push('/')); } getInfo() { this.props .fetchUserInfo() .catch((err) => console.error('MyHeader fetch user info error', err)); } setCameraEnabled(val) { const enabled = { cameraEnabled: val, }; this.props .userPermissions(enabled) .then(() => this.getInfo()) .catch((err) => console.error('Camera enabled', err)); } openSimulationPanel = () => { this.setState((state) => ({ simulationPanel: true })); }; closeSimulationPanel = () => { this.setState((state) => ({ simulationPanel: undefined })); }; render() { return (
Share cameras} checked={this.props.cameraEnabled} onChange={(e, val) => this.setCameraEnabled(val.checked)} /> Share cameras} checked={this.props.cameraEnabled} onChange={(e, val) => this.setCameraEnabled(val.checked)} />
); } } const mapStateToProps = (state, _) => ({ username: state.userInfo && state.userInfo.username ? state.userInfo.username : '', cameraEnabled: state.userInfo ? state.userInfo.cameraEnabled : false, }); const LoginContainer = connect( mapStateToProps, RemoteService, )(withRouter(MyHeader)); export default LoginContainer;