From 22c024cc94e280545cf4901c6e8d7ed555d5b271 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 14 Jan 2018 18:33:58 +0000 Subject: [PATCH] Refactor DateSep, use new Dateutils.formatFullDateNoTime as it is not desired for it to include the time. Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/messages/DateSeparator.js | 54 ++++++++++--------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/components/views/messages/DateSeparator.js b/src/components/views/messages/DateSeparator.js index 5d579e5d..4dcac99d 100644 --- a/src/components/views/messages/DateSeparator.js +++ b/src/components/views/messages/DateSeparator.js @@ -1,5 +1,6 @@ /* Copyright 2015, 2016 OpenMarket Ltd +Copyright 2018 Michael Telatynski <7t3chguy@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,8 +16,9 @@ limitations under the License. */ import React from 'react'; +import PropTypes from 'prop-types'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; -import {formatFullDate} from 'matrix-react-sdk/lib/DateUtils'; +import {formatFullDateNoTime} from 'matrix-react-sdk/lib/DateUtils'; function getdaysArray() { return [ @@ -30,30 +32,30 @@ function getdaysArray() { ]; } -module.exports = React.createClass({ - displayName: 'DateSeparator', - render: function() { - var date = new Date(this.props.ts); - var today = new Date(); - var yesterday = new Date(); - var days = getdaysArray(); - yesterday.setDate(today.getDate() - 1); - var label; - if (date.toDateString() === today.toDateString()) { - label = _t('Today'); - } - else if (date.toDateString() === yesterday.toDateString()) { - label = _t('Yesterday'); - } - else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) { - label = days[date.getDay()]; - } - else { - label = formatFullDate(date, this.props.showTwelveHour); - } +export class DateSeparator extends React.Component { + static propTypes = { + ts: PropTypes.number.isRequired, + }; - return ( -

{ label }

- ); + getLabel() { + const date = new Date(this.props.ts); + const today = new Date(); + const yesterday = new Date(); + const days = getdaysArray(); + yesterday.setDate(today.getDate() - 1); + + if (date.toDateString() === today.toDateString()) { + return _t('Today'); + } else if (date.toDateString() === yesterday.toDateString()) { + return _t('Yesterday'); + } else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) { + return days[date.getDay()]; + } else { + return formatFullDateNoTime(date); + } } -}); + + render() { + return

{ this.getLabel() }

; + } +}