import { bufferedRender } from 'discourse-common/lib/buffered-render'; export default Ember.Component.extend(bufferedRender({ elementId: 'topic-status-info', delayedRerender: null, rerenderTriggers: [ 'topic.topic_status_update', 'topic.topic_status_update.execute_at', 'topic.topic_status_update.based_on_last_post', 'topic.topic_status_update.duration' ], buildBuffer(buffer) { if (!this.get('topic.topic_status_update')) return; let statusUpdateAt = moment(this.get('topic.topic_status_update.execute_at')); if (statusUpdateAt < new Date()) return; let duration = moment.duration(statusUpdateAt - moment()); let minutesLeft = duration.asMinutes(); let rerenderDelay = 1000; if (minutesLeft > 2160) { rerenderDelay = 12 * 60 * 60000; } else if (minutesLeft > 1410) { rerenderDelay = 60 * 60000; } else if (minutesLeft > 90) { rerenderDelay = 30 * 60000; } else if (minutesLeft > 2) { rerenderDelay = 60000; } let autoCloseHours = this.get("topic.topic_status_update.duration") || 0; buffer.push('