Commit 2fc3599b authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Improve comments date formatting.

Use round() instead of ceil() when calculating "x units ago". Using
ceil() resulted in:

 - 59 seconds ago --> just now
 - 60 seconds ago --> 1 minute ago
 - 61 seconds ago --> 2 minutes ago

The same happened with other units.  With rounding the 1 minute period
is much larger than just 1 second.
parent 1196a517
Loading
Loading
Loading
Loading
+17 −13
Original line number Diff line number Diff line
@@ -83,26 +83,30 @@ Ext.define('Docs.view.Comments', {
        var commentTplMethods = {
            dateStr: function(date) {
                try {
                    var now = Math.ceil(Number(new Date()) / 1000),
                        comment = Math.ceil(Number(new Date(date)) / 1000),
                        diff = now - comment,
                        str;
                    var now = Math.ceil(Number(new Date()) / 1000);
                    var comment = Math.ceil(Number(new Date(date)) / 1000);
                    var diff = now - comment;

                    if (diff < 60) {
                        return 'just now';
                    } else if (diff < 3600) {
                        str = String(Math.ceil(diff / (60)));
                    }
                    else if (diff < 60*60) {
                        var str = String(Math.round(diff / (60)));
                        return str + (str == "1" ? ' minute' : ' minutes') + ' ago';
                    } else if (diff < 86400) {
                        str = String(Math.ceil(diff / (3600)));
                    }
                    else if (diff < 60*60*24) {
                        var str = String(Math.round(diff / (60*60)));
                        return str + (str == "1" ? ' hour' : ' hours') + ' ago';
                    } else if (diff < 60*60*24*31) {
                        str = String(Math.ceil(diff / (60 * 60 * 24)));
                    }
                    else if (diff < 60*60*24*31) {
                        var str = String(Math.round(diff / (60 * 60 * 24)));
                        return str + (str == "1" ? ' day' : ' days') + ' ago';
                    } else if (diff < 60*60*24*365) {
                        str = String(Math.ceil(diff / (60 * 60 * 24 * 31)));
                    }
                    else if (diff < 60*60*24*365) {
                        var str = String(Math.round(diff / (60 * 60 * 24 * 31)));
                        return str + (str == "1" ? ' month' : ' months') + ' ago';
                    } else {
                    }
                    else {
                        return Ext.Date.format(new Date(date), 'jS M \'y');
                    }
                } catch(e) {