diff --git a/public/src/client/topic/threadTools.js b/public/src/client/topic/threadTools.js index 32a910f442..646438df41 100644 --- a/public/src/client/topic/threadTools.js +++ b/public/src/client/topic/threadTools.js @@ -4,7 +4,8 @@ define('forum/topic/threadTools', [ 'components', 'translator', -], function (components, translator) { + 'handleBack', +], function (components, translator, handleBack) { var ThreadTools = {}; ThreadTools.init = function (tid, topicContainer) { @@ -50,6 +51,13 @@ define('forum/topic/threadTools', [ if (err) { return app.alertError(err); } + + if (app.previousUrl && !app.previousUrl.match('^/topic')) { + ajaxify.go(app.previousUrl, handleBack.onBackClicked); + } else if (ajaxify.data.category) { + ajaxify.go('category/' + ajaxify.data.category.slug, handleBack.onBackClicked); + } + app.alertSuccess('[[topic:mark_unread.success]]'); }); return false; diff --git a/public/src/modules/handleBack.js b/public/src/modules/handleBack.js index b6c2c16540..3de96cb414 100644 --- a/public/src/modules/handleBack.js +++ b/public/src/modules/handleBack.js @@ -15,6 +15,8 @@ define('handleBack', [ $(window).off('action:popstate', onBackClicked).on('action:popstate', onBackClicked); }; + handleBack.onBackClicked = onBackClicked; + function saveClickedIndex() { $('[component="category"]').on('click', '[component="topic/header"]', function () { var clickedIndex = $(this).parents('[data-index]').attr('data-index');