diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index 27af72a9df..160cd699f7 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -157,5 +157,6 @@ "diffs.current-revision": "current revision", "diffs.original-revision": "original revision", - "timeago_later": "%1 later" + "timeago_later": "%1 later", + "timeago_earlier": "%1 earlier" } diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index 48ff691bf3..13e5d77820 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -261,19 +261,38 @@ define('forum/topic/posts', [ function addNecroPostMessage() { var necroThreshold = 7 * 24 * 60 * 60 * 1000; + if (config.topicPostSort !== 'newest_to_oldest' && config.topicPostSort !== 'oldest_to_newest') { + return; + } + $('[component="post"]').each(function () { var post = $(this); var prev = post.prev('[component="post"]'); if (post.is(':has(.necro-post)') || !prev.length) { return; } + if (config.topicPostSort === 'newest_to_oldest' && parseInt(prev.attr('data-index'), 10) === 0) { + return; + } var diff = post.attr('data-timestamp') - prev.attr('data-timestamp'); - if (diff >= necroThreshold) { - var ago = $.timeago.settings.strings.suffixAgo; + if (Math.abs(diff) >= necroThreshold) { + var suffixAgo = $.timeago.settings.strings.suffixAgo; + var prefixAgo = $.timeago.settings.strings.prefixAgo; + var suffixFromNow = $.timeago.settings.strings.suffixFromNow; + var prefixFromNow = $.timeago.settings.strings.prefixFromNow; + $.timeago.settings.strings.suffixAgo = ''; - var translationText = '[[topic:timeago_later,' + $.timeago.inWords(diff) + ']]'; - $.timeago.settings.strings.suffixAgo = ago; + $.timeago.settings.strings.prefixAgo = ''; + $.timeago.settings.strings.suffixFromNow = ''; + $.timeago.settings.strings.prefixFromNow = ''; + + var translationText = (diff > 0 ? '[[topic:timeago_later,' : '[[topic:timeago_earlier,') + $.timeago.inWords(diff) + ']]'; + + $.timeago.settings.strings.suffixAgo = suffixAgo; + $.timeago.settings.strings.prefixAgo = prefixAgo; + $.timeago.settings.strings.suffixFromNow = suffixFromNow; + $.timeago.settings.strings.prefixFromNow = prefixFromNow; app.parseAndTranslate('partials/topic/necro-post', { text: translationText }, function (html) { html.prependTo(post); });