X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fresources%2Fstatic%2Fjavascript%2Fsone.js;h=bded3ce1a8031351f1d76c4c5c586a938eebe986;hb=28ab2bd3f3e4991d09682649e6b0456e6acfe016;hp=cb16e6420d0455ad3d5adc2dea4b8310ae58daa7;hpb=e508676493627c055b09e1eef26ba551aefa6e67;p=Sone.git diff --git a/src/main/resources/static/javascript/sone.js b/src/main/resources/static/javascript/sone.js index cb16e64..bded3ce 100644 --- a/src/main/resources/static/javascript/sone.js +++ b/src/main/resources/static/javascript/sone.js @@ -640,6 +640,26 @@ function getSoneId() { return $("#sone .sone-id").text(); } +/** + * Returns whether the current page is a “view post” page. + * + * @returns {Boolean} true if the current page is a “view post” + * page, false otherwise + */ +function isViewPostPage() { + return getPageId() == "view-post"; +} + +/** + * Returns the ID of the currently shown post. This will only return a sensible + * value if isViewPostPage() returns true. + * + * @returns The ID of the currently shown post + */ +function getPostId() { + return $("#sone .post-id").text(); +} + var loadedPosts = {}; var loadedReplies = {}; @@ -650,6 +670,9 @@ function loadNewPost(postId) { loadedPosts[postId] = true; $.getJSON("ajax/getPost.ajax", { "post" : postId }, function(data, textStatus) { if ((data != null) && data.success) { + if (!isIndexPage() && !(isViewSonePage() && (getSoneId() == data.post.sone))) { + return; + } var firstOlderPost = null; $("#sone .post").each(function() { if (getPostTime(this) < data.post.time) { @@ -661,7 +684,7 @@ function loadNewPost(postId) { if (firstOlderPost != null) { newPost.insertBefore(firstOlderPost); } else { - $("#sone #posts").append(newPost); + $("#sone .post:last").append(newPost); } ajaxifyPost(newPost); newPost.slideDown(); @@ -805,30 +828,32 @@ $(document).ready(function() { }); /* hides all replies but the latest two. */ - getTranslation("WebInterface.ClickToShow.Replies", function(text) { - $("#sone .post .replies").each(function() { - allReplies = $(this).find(".reply"); - if (allReplies.length > 2) { - newHidden = false; - for (replyIndex = 0; replyIndex < (allReplies.length - 2); ++replyIndex) { - $(allReplies[replyIndex]).addClass("hidden"); - newHidden |= $(allReplies[replyIndex]).hasClass("new"); - } - clickToShowElement = $("
").addClass("click-to-show"); - if (newHidden) { - clickToShowElement.addClass("new"); + if (!isViewPostPage()) { + getTranslation("WebInterface.ClickToShow.Replies", function(text) { + $("#sone .post .replies").each(function() { + allReplies = $(this).find(".reply"); + if (allReplies.length > 2) { + newHidden = false; + for (replyIndex = 0; replyIndex < (allReplies.length - 2); ++replyIndex) { + $(allReplies[replyIndex]).addClass("hidden"); + newHidden |= $(allReplies[replyIndex]).hasClass("new"); + } + clickToShowElement = $("
").addClass("click-to-show"); + if (newHidden) { + clickToShowElement.addClass("new"); + } + (function(clickToShowElement, allReplies, text) { + clickToShowElement.text(text); + clickToShowElement.click(function() { + allReplies.removeClass("hidden"); + clickToShowElement.addClass("hidden"); + }); + })(clickToShowElement, allReplies, text); + $(allReplies[0]).before(clickToShowElement); } - (function(clickToShowElement, allReplies, text) { - clickToShowElement.text(text); - clickToShowElement.click(function() { - allReplies.removeClass("hidden"); - clickToShowElement.addClass("hidden"); - }); - })(clickToShowElement, allReplies, text); - $(allReplies[0]).before(clickToShowElement); - } + }); }); - }); + } /* * convert all “follow”, “unfollow”, “lock”, and “unlock” links to something