signal-desktop/js/views/last_seen_indicator_view.js
Scott Nonnenberg 01918049b4 Keep last seen indicator around for five seconds
Helps calm the user experience a little more, makes it easier to
understand what's happening when messages are coming in quickly.

FREEBIE
2017-05-25 16:41:21 -07:00

40 lines
1,013 B
JavaScript

/*
* vim: ts=4:sw=4:expandtab
*/
(function () {
'use strict';
window.Whisper = window.Whisper || {};
var FIVE_SECONDS = 5 * 1000;
Whisper.LastSeenIndicatorView = Whisper.View.extend({
className: 'last-seen-indicator-view',
templateName: 'last-seen-indicator-view',
initialize: function(options) {
options = options || {};
this.count = options.count || 0;
this.start = Date.now();
},
isOldEnough: function() {
var now = Date.now();
if (now - this.start > FIVE_SECONDS) {
return true;
}
},
increment: function(count) {
this.count += count;
this.render();
},
render_attributes: function() {
var unreadMessages = this.count === 1 ? i18n('unreadMessage')
: i18n('unreadMessages', [this.count]);
return {
unreadMessages: unreadMessages
};
}
});
})();