function entranceDate(dt, showTime) { var today = new Date(); if (dt.toDateString() === today.toDateString()) { return moment(dt).format(I18n.t("dates.time")); } if (dt.getYear() === today.getYear()) { // No year return moment(dt).format( showTime ? I18n.t("dates.long_date_without_year") : I18n.t("dates.long_no_year_no_time") ); } return moment(dt).format( showTime ? I18n.t('dates.long_date_with_year') : I18n.t('dates.long_date_with_year_without_time') ); } export default Ember.ObjectController.extend({ position: null, createdDate: function() { return new Date(this.get('model.created_at')); }.property('model.created_at'), bumpedDate: function() { return new Date(this.get('model.bumped_at')); }.property('model.bumped_at'), showTime: function() { var diffMs = this.get('bumpedDate').getTime() - this.get('createdDate').getTime(); return diffMs < (1000 * 60 * 60 * 24 * 2); }.property('createdDate', 'bumpedDate'), topDate: function() { return entranceDate(this.get('createdDate'), this.get('showTime')); }.property('createdDate'), bottomDate: function() { return entranceDate(this.get('bumpedDate'), this.get('showTime')); }.property('bumpedDate'), actions: { show: function(data) { // Show the chooser but only if the model changes if (this.get('model') !== data.topic) { this.set('model', data.topic); this.set('position', data.position); } }, enterTop: function() { Discourse.URL.routeTo(this.get('url')); }, enterBottom: function() { Discourse.URL.routeTo(this.get('lastPostUrl')); } } });