diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-06-18 14:42:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-18 14:42:32 -0400 |
commit | ab67f6e257f6e8f08145a02a7b93550f99641be4 (patch) | |
tree | d33d1c58a3d229f7e37db58bc2c397ac3806c503 /webapp/components/post_view/floating_timestamp.jsx | |
parent | 0231e95f1c5a8c42ba97875f0d2301815f552974 (diff) | |
download | chat-ab67f6e257f6e8f08145a02a7b93550f99641be4.tar.gz chat-ab67f6e257f6e8f08145a02a7b93550f99641be4.tar.bz2 chat-ab67f6e257f6e8f08145a02a7b93550f99641be4.zip |
PLT-6215 Major post list refactor (#6501)
* Major post list refactor
* Fix post and thread deletion
* Fix preferences not selecting correctly
* Fix military time displaying
* Fix UP key for editing posts
* Fix ESLint error
* Various fixes and updates per feedback
* Fix for permalink view
* Revert to old scrolling method and various fixes
* Add floating timestamp, new message indicator, scroll arrows
* Update post loading for focus mode and add visibility limit
* Fix pinning posts and a react warning
* Add loading UI updates from Asaad
* Fix refreshing loop
* Temporarily bump post visibility limit
* Update infinite scrolling
* Remove infinite scrolling
Diffstat (limited to 'webapp/components/post_view/floating_timestamp.jsx')
-rw-r--r-- | webapp/components/post_view/floating_timestamp.jsx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/webapp/components/post_view/floating_timestamp.jsx b/webapp/components/post_view/floating_timestamp.jsx new file mode 100644 index 000000000..f0f6af60e --- /dev/null +++ b/webapp/components/post_view/floating_timestamp.jsx @@ -0,0 +1,53 @@ +// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import {FormattedDate} from 'react-intl'; + +import React from 'react'; +import PropTypes from 'prop-types'; + +export default class FloatingTimestamp extends React.PureComponent { + static propTypes = { + isScrolling: PropTypes.bool.isRequired, + isMobile: PropTypes.bool, + createAt: PropTypes.number, + isRhsPost: PropTypes.bool + } + + render() { + if (!this.props.isMobile) { + return <noscript/>; + } + + if (this.props.createAt === 0) { + return <noscript/>; + } + + const dateString = ( + <FormattedDate + value={this.props.createAt} + weekday='short' + day='2-digit' + month='short' + year='numeric' + /> + ); + + let className = 'post-list__timestamp'; + if (this.props.isScrolling) { + className += ' scrolling'; + } + + if (this.props.isRhsPost) { + className += ' rhs'; + } + + return ( + <div className={className}> + <div> + <span>{dateString}</span> + </div> + </div> + ); + } +} |