@ -5,6 +5,15 @@
'use strict' ;
window . Whisper = window . Whisper || { } ;
moment . updateLocale ( i18n . getLocale ( ) , {
relativeTime : {
s : i18n ( 'timestamp_s' ) || 'now' ,
m : i18n ( 'timestamp_m' ) || '1 minute' ,
h : i18n ( 'timestamp_h' ) || '1 hour'
}
} ) ;
moment . locale ( i18n . getLocale ( ) ) ;
Whisper . TimestampView = Whisper . View . extend ( {
initialize : function ( options ) {
extension . windows . onClosed ( this . clearTimeout . bind ( this ) ) ;
@ -50,13 +59,13 @@
return timestamp . format ( this . _format . d ) ;
} else if ( timediff . hours ( ) > 1 ) {
this . delay = moment ( timestamp ) . add ( timediff . hours ( ) + 1 , 'h' ) . diff ( moment ( ) ) ;
return this . relativeTime ( timediff . hours ( ) , 'h h ') ;
return this . relativeTime ( timediff . hours ( ) , 'h ') ;
} else if ( timediff . hours ( ) === 1 ) {
this . delay = moment ( timestamp ) . add ( timediff . hours ( ) + 1 , 'h' ) . diff ( moment ( ) ) ;
return this . relativeTime ( timediff . hours ( ) , 'h' ) ;
} else if ( timediff . minutes ( ) > 1 ) {
this . delay = moment ( timestamp ) . add ( timediff . minutes ( ) + 1 , 'm' ) . diff ( moment ( ) ) ;
return this . relativeTime ( timediff . minutes ( ) , 'm m ') ;
return this . relativeTime ( timediff . minutes ( ) , 'm ') ;
} else if ( timediff . minutes ( ) === 1 ) {
this . delay = moment ( timestamp ) . add ( timediff . minutes ( ) + 1 , 'm' ) . diff ( moment ( ) ) ;
return this . relativeTime ( timediff . minutes ( ) , 'm' ) ;
@ -65,16 +74,10 @@
return this . relativeTime ( timediff . seconds ( ) , 's' ) ;
}
} ,
relativeTime : function ( number , string , isFuture ) {
var format = i18n ( "timestamp_" + string ) || this . _format [ string ] ;
return format . replace ( /%d/i , number ) ;
relativeTime : function ( number , string ) {
return moment . duration ( number , string ) . humanize ( ) ;
} ,
_format : {
s : "now" ,
m : "1 min" ,
mm : "%d min" ,
h : "1 hour" ,
hh : "%d hours" ,
y : "MMM D, YYYY" ,
mo : "MMM D" ,
d : "ddd"
@ -82,15 +85,9 @@
} ) ;
Whisper . ExtendedTimestampView = Whisper . TimestampView . extend ( {
relativeTime : function ( number , string , isFuture ) {
var format = i18n ( "extendedTimestamp_" + string ) || this . _format [ string ] ;
return format . replace ( /%d/i , number ) ;
return moment . duration ( - 1 * number , string ) . humanize ( string !== 's' ) ;
} ,
_format : {
s : "now" ,
m : "%d minute ago" ,
mm : "%d minutes ago" ,
h : "%d hour ago" ,
hh : "%d hours ago" ,
y : "MMM D, YYYY LT" ,
mo : "MMM D LT" ,
d : "ddd LT"