X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fresources%2Fstatic%2Fjavascript%2Fsone.js;h=59135afdbecdf109b4f7f879e95b059d8d197e69;hb=56d8cf539156f5949ce33aebf784438c737f84b3;hp=f195d5943a43b466d171baa97ed55bea236a45a1;hpb=46ad26b66e978c531f563a51a4ff6a2908816947;p=Sone.git
diff --git a/src/main/resources/static/javascript/sone.js b/src/main/resources/static/javascript/sone.js
index f195d59..59135af 100644
--- a/src/main/resources/static/javascript/sone.js
+++ b/src/main/resources/static/javascript/sone.js
@@ -497,6 +497,11 @@ function ajaxifyPost(postElement) {
});
});
+ /* mark everything as known on click. */
+ $(postElement).click(function() {
+ markPostAsKnown(this);
+ });
+
/* hide reply input field. */
$(postElement).find(".create-reply").addClass("hidden");
}
@@ -526,6 +531,11 @@ function ajaxifyReply(replyElement) {
});
})(replyElement);
addCommentLink(getPostId(replyElement), replyElement, $(replyElement).find(".reply-status-line .time"));
+
+ /* mark post and all replies as known on click. */
+ $(replyElement).click(function() {
+ markPostAsKnown(getPostElement(replyElement));
+ });
}
/**
@@ -591,6 +601,25 @@ function getStatus() {
})
}
+/**
+ * Returns the content of the page-id attribute.
+ *
+ * @returns The page ID
+ */
+function getPageId() {
+ return $("#sone .page-id").text();
+}
+
+/**
+ * Returns whether the current page is the index page.
+ *
+ * @returns {Boolean} true
if the current page is the index page,
+ * false
otherwise
+ */
+function isIndexPage() {
+ return getPageId() == "index";
+}
+
var loadedPosts = {};
var loadedReplies = {};
@@ -690,9 +719,11 @@ function resetActivity() {
}
function setActivity() {
- title = document.title;
- if (title.indexOf('(') != 0) {
- document.title = "(!) " + title;
+ if (!focus) {
+ title = document.title;
+ if (title.indexOf('(') != 0) {
+ document.title = "(!) " + title;
+ }
}
}
@@ -722,6 +753,8 @@ function createNotification(id, text, dismissable) {
// EVERYTHING BELOW HERE IS EXECUTED AFTER LOADING THE PAGE
//
+var focus = true;
+
$(document).ready(function() {
/* this initializes the status update input field. */
@@ -824,7 +857,10 @@ $(document).ready(function() {
/* reset activity counter when the page has focus. */
$(window).focus(function() {
+ focus = true;
resetActivity();
- });
+ }).blur(function() {
+ focus = false;
+ })
});