// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React from 'react'; import Constants from 'utils/constants.jsx'; import PureRenderMixin from 'react-addons-pure-render-mixin'; import {getDateForUnixTicks, isMobile, updateWindowDimensions} from 'utils/utils.jsx'; import {Link} from 'react-router/es6'; import TeamStore from 'stores/team_store.jsx'; export default class PostTime extends React.Component { constructor(props) { super(props); this.shouldComponentUpdate = PureRenderMixin.shouldComponentUpdate.bind(this); this.state = { currentTeamDisplayName: TeamStore.getCurrent().name, width: '', height: '' }; } componentDidMount() { this.intervalId = setInterval(() => { this.forceUpdate(); }, Constants.TIME_SINCE_UPDATE_INTERVAL); window.addEventListener('resize', () => { updateWindowDimensions(this); }); } componentWillUnmount() { clearInterval(this.intervalId); window.removeEventListener('resize', () => { updateWindowDimensions(this); }); } renderTimeTag() { const date = getDateForUnixTicks(this.props.eventTime); return ( ); } render() { return isMobile() ? this.renderTimeTag() : ( {this.renderTimeTag()} ); } } PostTime.defaultProps = { eventTime: 0, sameUser: false }; PostTime.propTypes = { eventTime: React.PropTypes.number.isRequired, sameUser: React.PropTypes.bool, compactDisplay: React.PropTypes.bool, useMilitaryTime: React.PropTypes.bool.isRequired, postId: React.PropTypes.string };