11/*
22Copyright 2015, 2016 OpenMarket Ltd
3+ Copyright 2018 Michael Telatynski <7t3chguy@gmail.com>
34
45Licensed under the Apache License, Version 2.0 (the "License");
56you may not use this file except in compliance with the License.
@@ -15,8 +16,9 @@ limitations under the License.
1516*/
1617
1718import React from 'react' ;
19+ import PropTypes from 'prop-types' ;
1820import { _t } from 'matrix-react-sdk/lib/languageHandler' ;
19- import { formatFullDate } from 'matrix-react-sdk/lib/DateUtils' ;
21+ import { formatFullDateNoTime } from 'matrix-react-sdk/lib/DateUtils' ;
2022
2123function getdaysArray ( ) {
2224 return [
@@ -30,30 +32,30 @@ function getdaysArray() {
3032 ] ;
3133}
3234
33- module . exports = React . createClass ( {
34- displayName : 'DateSeparator' ,
35- render : function ( ) {
36- var date = new Date ( this . props . ts ) ;
37- var today = new Date ( ) ;
38- var yesterday = new Date ( ) ;
39- var days = getdaysArray ( ) ;
35+ export default class DateSeparator extends React . Component {
36+ static propTypes = {
37+ ts : PropTypes . number . isRequired ,
38+ } ;
39+
40+ getLabel ( ) {
41+ const date = new Date ( this . props . ts ) ;
42+ const today = new Date ( ) ;
43+ const yesterday = new Date ( ) ;
44+ const days = getdaysArray ( ) ;
4045 yesterday . setDate ( today . getDate ( ) - 1 ) ;
41- var label ;
46+
4247 if ( date . toDateString ( ) === today . toDateString ( ) ) {
43- label = _t ( 'Today' ) ;
44- }
45- else if ( date . toDateString ( ) === yesterday . toDateString ( ) ) {
46- label = _t ( 'Yesterday' ) ;
47- }
48- else if ( today . getTime ( ) - date . getTime ( ) < 6 * 24 * 60 * 60 * 1000 ) {
49- label = days [ date . getDay ( ) ] ;
50- }
51- else {
52- label = formatFullDate ( date , this . props . showTwelveHour ) ;
48+ return _t ( 'Today' ) ;
49+ } else if ( date . toDateString ( ) === yesterday . toDateString ( ) ) {
50+ return _t ( 'Yesterday' ) ;
51+ } else if ( today . getTime ( ) - date . getTime ( ) < 6 * 24 * 60 * 60 * 1000 ) {
52+ return days [ date . getDay ( ) ] ;
53+ } else {
54+ return formatFullDateNoTime ( date ) ;
5355 }
56+ }
5457
55- return (
56- < h2 className = "mx_DateSeparator" > { label } </ h2 >
57- ) ;
58+ render ( ) {
59+ return < h2 className = "mx_DateSeparator" > { this . getLabel ( ) } </ h2 > ;
5860 }
59- } ) ;
61+ }
0 commit comments