aboutsummaryrefslogtreecommitdiff
path: root/client/js/controls/post_readonly_sidebar_control.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/js/controls/post_readonly_sidebar_control.js')
-rw-r--r--client/js/controls/post_readonly_sidebar_control.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/client/js/controls/post_readonly_sidebar_control.js b/client/js/controls/post_readonly_sidebar_control.js
index 35cad8f..fc26281 100644
--- a/client/js/controls/post_readonly_sidebar_control.js
+++ b/client/js/controls/post_readonly_sidebar_control.js
@@ -50,6 +50,7 @@ class PostReadonlySidebarControl extends events.EventTarget {
);
}
this._loadSimilarPosts();
+ this._loadLookalikePosts();
}
get _scoreContainerNode() {
@@ -100,6 +101,14 @@ class PostReadonlySidebarControl extends events.EventTarget {
return this._hostNode.querySelector("nav.similar ul");
}
+ get _lookalikesNode() {
+ return this._hostNode.querySelector("nav.lookalikes");
+ }
+
+ get _lookalikesListNode() {
+ return this._hostNode.querySelector("nav.lookalikes ul");
+ }
+
_installFitButtons() {
this._fitBothButtonNode.addEventListener(
"click",
@@ -257,6 +266,26 @@ class PostReadonlySidebarControl extends events.EventTarget {
}
});
}
+
+ _loadLookalikePosts() {
+ const limit = parseInt(settings.get().similarPosts);
+ const fields = ["id", "thumbnailUrl"];
+ const threshold = 1;
+ return PostList.reverseSearch(this._post.id, limit, threshold, fields)
+ .then((response) => {
+ if (response.results.length === 0) {
+ this._lookalikesNode.style.display = "none";
+ }
+ const listNode = this._lookalikesListNode;
+ for (let post of response.results) {
+ let poseNode = similarItemTemplate({
+ id: post.id,
+ thumbnailUrl: post.thumbnailUrl,
+ });
+ listNode.appendChild(poseNode);
+ }
+ });
+ }
}
module.exports = PostReadonlySidebarControl;

© 2015 - 2026 Jakob L. Kreuze