import React, { Component } from "react"; import { Menu, Button, Grid, Icon, Responsive, Dropdown, } from "semantic-ui-react"; import { editButtonStyle } from "../components/dashboard/devices/styleComponents"; import ModalWindow from "../components/modalform"; import { RemoteService } from "../remote"; import { connect } from "react-redux"; import { appActions } from "../storeActions"; class Navbar extends Component { constructor(props) { super(props); this.state = { editMode: false, }; this.toggleEditMode = this.toggleEditMode.bind(this); this.selectRoom = this.selectRoom.bind(this); this.getRooms(); } getRooms() { this.props.fetchAllRooms().catch(console.error); } get activeItem() { return this.props.activeRoom; } set activeItem(item) { this.props.setActiveRoom(item); } get activeItemName() { console.log(this.constructor); if (this.props.activeRoom === -1) return "Home"; return this.props.rooms[this.props.activeRoom]; } toggleEditMode(e) { this.setState((prevState) => ({ editMode: !prevState.editMode })); } selectRoom(e, { id }) { this.activeItem = id; } render() { return (
HOME {Object.values(this.props.rooms).map((e, i) => { return ( {e.name} {this.state.editMode ? ( ) : null} ); })} Home {Object.values(this.props.rooms).map((e, i) => { return ( {e.name} ); })} {this.activeRoom !== -1 ? ( ) : null}
); } } const mapDispatchToProps = (dispatch) => { return { setActiveRoom: (activeRoom) => dispatch(appActions.setActiveRoom(activeRoom)), }; }; const NavbarContainer = connect(mapDispatchToProps, RemoteService)(Navbar); export default NavbarContainer;