| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import React, { Component } from "react";
- import PropTypes from "prop-types";
- import { Collapse } from "reactstrap";
- import { connect } from "react-redux";
- class SidebarUserBlock extends Component {
- state = {
- showUserBlock: true,
- user: {},
- role: {},
- };
- async componentDidMount() {
- const user = this.props.user;
- this.setState({ user, role: user.role });
- }
- componentDidUpdate(oldProps) {
- if (oldProps.showUserBlock !== this.props.showUserBlock) {
- this.setState({ showUserBlock: this.props.showUserBlock });
- }
- }
- render() {
- const { user, role } = this.state;
- return (
- <Collapse id="user-block" isOpen={this.state.showUserBlock}>
- <div>
- <div className="item user-block">
- {/* User picture */}
- <div className="user-block-picture">
- <div className="user-block-status">
- <img className="rounded-circle" src={role.id === 2022 ? "/static/img/univ-avatar.png" : "/static/img/logo-single.png"} alt="Avatar" width="60" height="60" />
- <div className="circle bg-success circle-lg"></div>
- </div>
- </div>
- {/* Name and Job */}
- <div className="user-block-info">
- <span className="user-block-name">{user.nama}</span>
- <span className="user-block-role">{role.nama}</span>
- </div>
- </div>
- </div>
- </Collapse>
- );
- }
- }
- SidebarUserBlock.propTypes = {
- showUserBlock: PropTypes.bool,
- };
- const mapStateToProps = (state) => ({ showUserBlock: state.settings.showUserBlock, user: state.user });
- export default connect(mapStateToProps)(SidebarUserBlock);
|