diff --git a/extensions/embed/js/src/forum/index.js b/extensions/embed/js/src/forum/index.js index 0dc35ed9a..fc1119228 100644 --- a/extensions/embed/js/src/forum/index.js +++ b/extensions/embed/js/src/forum/index.js @@ -20,23 +20,12 @@ extend(ForumApplication.prototype, 'mount', function() { } }); -m.route.mode = 'pathname'; - -override(m, 'route', function(original, root, arg1, arg2, vdom) { - if (arguments.length === 1) { - - } else if (arguments.length === 4 && typeof arg1 === 'string') { - - } else if (root.addEventListener || root.attachEvent) { - root.href = vdom.attrs.href.replace('/embed', '/d'); - root.target = '_blank'; - - // TODO: If href leads to a post within this discussion that we have - // already loaded, then scroll to it? - return; - } - - return original.apply(this, Array.prototype.slice.call(arguments, 1)); +override(m.route.Link, 'view', function (original, vnode) { + vnode.attrs.href = vnode.attrs.href.replace('/embed', '/d'); + vnode.attrs.target = '_blank'; + // TODO: If href leads to a post within this discussion that we have + // already loaded, then scroll to it? + return original(vnode); }); // Trim the /embed prefix off of post permalinks @@ -44,7 +33,7 @@ override(PostMeta.prototype, 'getPermalink', (original, post) => { return original(post).replace('/embed', '/d'); }); -app.pageInfo = m.prop({}); +app.pageInfo = m.stream({}); const reposition = function() { const info = app.pageInfo(); @@ -73,16 +62,15 @@ extend(DiscussionPage.prototype, 'sidebarItems', function(items) { const count = this.discussion.replyCount(); items.add('replies',