From fb089ae297b27f51777318e3a28bca8b172a4165 Mon Sep 17 00:00:00 2001 From: Ivan Gabaldon Date: Tue, 2 Dec 2025 10:18:00 +0000 Subject: [mod] client/simple: client plugins (#5406) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [mod] client/simple: client plugins Defines a new interface for client side *"plugins"* that coexist with server side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base `ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts` when their `load()` conditions are met. On each navigation request, all applicable plugins are instanced. Since these are client side plugins, we can only invoke them once DOM is fully loaded. E.g. `Calculator` will not render a new `answer` block until fully loaded and executed. For some plugins, we might want to handle its availability in `settings.yml` and toggle in UI, like we do for server side plugins. In that case, we extend `py Plugin` instancing only the information and then checking client side if [`settings.plugins`](https://github.com/inetol/searxng/blob/1ad832b1dc33f3f388da361ff2459b05dc86a164/client/simple/src/js/toolkit.ts#L134) array has the plugin id. * [mod] client/simple: rebuild static --- searx/templates/simple/base.html | 6 +++--- searx/templates/simple/preferences.html | 3 --- searx/templates/simple/preferences/infinite_scroll.html | 16 ---------------- searx/templates/simple/rss.xsl | 2 +- 4 files changed, 4 insertions(+), 23 deletions(-) delete mode 100644 searx/templates/simple/preferences/infinite_scroll.html (limited to 'searx/templates') diff --git a/searx/templates/simple/base.html b/searx/templates/simple/base.html index c8e75b713..ec2c7bb51 100644 --- a/searx/templates/simple/base.html +++ b/searx/templates/simple/base.html @@ -10,12 +10,12 @@ {% block title %}{% endblock %}{{ instance_name }} - + {% block meta %}{% endblock %} {% if rtl %} - + {% else %} - + {% endif %} {% if get_setting('server.limiter') or get_setting('server.public_instance') %} diff --git a/searx/templates/simple/preferences.html b/searx/templates/simple/preferences.html index 87bd99c45..ca3a3f087 100644 --- a/searx/templates/simple/preferences.html +++ b/searx/templates/simple/preferences.html @@ -211,9 +211,6 @@ {%- if 'results_on_new_tab' not in locked_preferences -%} {%- include 'simple/preferences/results_on_new_tab.html' -%} {%- endif -%} - {%- if 'infinite_scroll' not in locked_preferences -%} - {%- include 'simple/preferences/infinite_scroll.html' -%} - {%- endif -%} {%- if 'search_on_category_select' not in locked_preferences -%} {%- include 'simple/preferences/search_on_category_select.html' -%} {%- endif -%} diff --git a/searx/templates/simple/preferences/infinite_scroll.html b/searx/templates/simple/preferences/infinite_scroll.html deleted file mode 100644 index f5bcf1c95..000000000 --- a/searx/templates/simple/preferences/infinite_scroll.html +++ /dev/null @@ -1,16 +0,0 @@ -
{{- '' -}} - {{ _('Infinite scroll') }}{{- '' -}} -

{{- '' -}} - {{- '' -}} -

{{- '' -}} -
- {{- _('Automatically load the next page when scrolling to the bottom of the current page') -}} -
{{- '' -}} -
{{- '' -}} diff --git a/searx/templates/simple/rss.xsl b/searx/templates/simple/rss.xsl index a3b646ae3..7cfeedc01 100644 --- a/searx/templates/simple/rss.xsl +++ b/searx/templates/simple/rss.xsl @@ -8,7 +8,7 @@ - +
-- cgit v1.2.3