// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import * as Utils from 'utils/utils.jsx'; import Client from 'client/web_client.jsx'; import UserStore from 'stores/user_store.jsx'; import {Popover, OverlayTrigger} from 'react-bootstrap'; var id = 0; function nextId() { id = id + 1; return id; } import React from 'react'; export default class UserProfile extends React.Component { constructor(props) { super(props); this.uniqueId = nextId(); } shouldComponentUpdate(nextProps) { if (!Utils.areObjectsEqual(nextProps.user, this.props.user)) { return true; } if (nextProps.overwriteName !== this.props.overwriteName) { return true; } if (nextProps.overwriteImage !== this.props.overwriteImage) { return true; } if (nextProps.disablePopover !== this.props.disablePopover) { return true; } if (nextProps.displayNameType !== this.props.displayNameType) { return true; } return false; } render() { let name = '...'; let email = ''; let profileImg = ''; if (this.props.user) { name = Utils.displayUsername(this.props.user.id); email = this.props.user.email; profileImg = Client.getUsersRoute() + '/' + this.props.user.id + '/image?time=' + this.props.user.update_at; } if (this.props.overwriteName) { name = this.props.overwriteName; } if (this.props.overwriteImage) { profileImg = this.props.overwriteImage; } if (this.props.disablePopover) { return
{fullname}