From 59e559fd85c1eb8636bb82c5075c317249fec959 Mon Sep 17 00:00:00 2001 From: Hunternif Date: Wed, 1 Sep 2021 22:46:02 +0100 Subject: client: add to settings the number of similar posts to load --- client/html/settings.tpl | 10 ++++++++++ client/js/controls/post_readonly_sidebar_control.js | 3 ++- client/js/models/settings.js | 1 + client/js/views/settings_view.js | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/client/html/settings.tpl b/client/html/settings.tpl index 25ba63a..063331a 100644 --- a/client/html/settings.tpl +++ b/client/html/settings.tpl @@ -46,6 +46,16 @@ }) %> +
  • + <%= ctx.makeNumericInput({ + text: 'Number of similar posts', + name: 'similar-posts', + value: ctx.browsingSettings.similarPosts, + min: 0, + max: 100, + }) %> +
  • +
  • <%= ctx.makeCheckbox({ text: 'Use dark theme', diff --git a/client/js/controls/post_readonly_sidebar_control.js b/client/js/controls/post_readonly_sidebar_control.js index d66a9b6..da2630d 100644 --- a/client/js/controls/post_readonly_sidebar_control.js +++ b/client/js/controls/post_readonly_sidebar_control.js @@ -2,6 +2,7 @@ const api = require("../api.js"); const events = require("../events.js"); +const settings = require("../models/settings.js"); const views = require("../util/views.js"); const uri = require("../util/uri.js"); const misc = require("../util/misc.js"); @@ -240,7 +241,7 @@ class PostReadonlySidebarControl extends events.EventTarget { return api .get( uri.formatApiLink("post", this._post.id, "similar", { - limit: 10, + limit: parseInt(settings.get().similarPosts), }) ) .then((response) => { diff --git a/client/js/models/settings.js b/client/js/models/settings.js index 4edf3c9..d32a15a 100644 --- a/client/js/models/settings.js +++ b/client/js/models/settings.js @@ -18,6 +18,7 @@ const defaultSettings = { tagSuggestions: true, autoplayVideos: false, postsPerPage: 40, + similarPosts: 10, tagUnderscoresAsSpaces: false, darkTheme: false, postFlow: false, diff --git a/client/js/views/settings_view.js b/client/js/views/settings_view.js index a19ac5f..fba4cb6 100644 --- a/client/js/views/settings_view.js +++ b/client/js/views/settings_view.js @@ -42,6 +42,7 @@ class SettingsView extends events.EventTarget { tagSuggestions: this._find("tag-suggestions").checked, autoplayVideos: this._find("autoplay-videos").checked, postsPerPage: this._find("posts-per-page").value, + similarPosts: this._find("similar-posts").value, tagUnderscoresAsSpaces: this._find("underscores-as-spaces") .checked, darkTheme: this._find("dark-theme").checked, -- cgit v1.3