summaryrefslogtreecommitdiff
path: root/searx/templates/simple/elements
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2023-04-23 13:19:21 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2023-05-28 12:19:32 +0200
commitb7e315563d2401e6fb659fcfcb361e6d5bb915d5 (patch)
tree722dd54802c9533ce6ae13fb1b271bee67d45be6 /searx/templates/simple/elements
parent79c02456c1a852ecab5548a840d09e9642565615 (diff)
downloadsearxng-b7e315563d2401e6fb659fcfcb361e6d5bb915d5.tar.gz
searxng-b7e315563d2401e6fb659fcfcb361e6d5bb915d5.zip
[mod] simple theme: collaps/expand elements in the sidebar
Make elements in the sidebar collapse able. Except infoboxes all elements in the sidebar are collapsed by default. By folding out the sidebar elements, the UI looks less cluttered. Especially on small devices like smartphones, where the sidebar is above the results list, the UX should be improved [1]. [1] https://github.com/searxng/searxng/issues/2140 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/templates/simple/elements')
-rw-r--r--searx/templates/simple/elements/apis.html24
-rw-r--r--searx/templates/simple/elements/engines_msg.html25
-rw-r--r--searx/templates/simple/elements/infobox.html48
-rw-r--r--searx/templates/simple/elements/search_url.html18
-rw-r--r--searx/templates/simple/elements/suggestions.html23
5 files changed, 138 insertions, 0 deletions
diff --git a/searx/templates/simple/elements/apis.html b/searx/templates/simple/elements/apis.html
new file mode 100644
index 000000000..c3bc76726
--- /dev/null
+++ b/searx/templates/simple/elements/apis.html
@@ -0,0 +1,24 @@
+<div id="apis" role="complementary" aria-labelledby="apis-title">
+ <details>
+ <summary class="title" id="apis-title">{{ _('Download results') }}</summary>
+ {%- for output_type in search_formats -%}
+ <div class="left">
+ <form method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
+ <input type="hidden" name="q" value="{{ q|e }}">
+ {%- for category in selected_categories -%}
+ <input type="hidden" name="category_{{ category }}" value="1">
+ {%- endfor -%}
+ <input type="hidden" name="pageno" value="{{ pageno }}">
+ <input type="hidden" name="language" value="{{ current_language }}">
+ <input type="hidden" name="time_range" value="{{ time_range }}">
+ <input type="hidden" name="safesearch" value="{{ safesearch }}">
+ <input type="hidden" name="format" value="{{ output_type }}">
+ {%- if timeout_limit -%}
+ <input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >
+ {%- endif -%}
+ <input type="submit" role="link" value="{{ output_type }}">
+ </form>
+ </div>
+ {%- endfor -%}
+ </details>
+</div>
diff --git a/searx/templates/simple/elements/engines_msg.html b/searx/templates/simple/elements/engines_msg.html
new file mode 100644
index 000000000..9b8028b7e
--- /dev/null
+++ b/searx/templates/simple/elements/engines_msg.html
@@ -0,0 +1,25 @@
+<div id="engines_msg">
+ <details>
+ <summary class="title" id="engines_msg-title">{{ _('Messages from the search engines') }}</summary>
+ <div class="dialog-error" role="alert">
+ {{ icon_big('warning') }}
+ <div>
+ <p>
+ <strong>{{ _('Error!') }}</strong>
+ {{ _('Engines cannot retrieve results') }}:
+ </p>
+ {%- for engine_name, error_type in unresponsive_engines -%}
+ <p>{{- engine_name }} (
+ <a href="{{ url_for('stats', engine=engine_name|e) }}"
+ title="{{ _('View error logs and submit a bug report') }}">
+ {{- error_type -}}
+ </a>
+ ){{- '' -}}
+ </p>
+ {%- endfor -%}
+ </div>
+ </div>
+ </details>
+</div>
+
+
diff --git a/searx/templates/simple/elements/infobox.html b/searx/templates/simple/elements/infobox.html
new file mode 100644
index 000000000..68fd32559
--- /dev/null
+++ b/searx/templates/simple/elements/infobox.html
@@ -0,0 +1,48 @@
+<aside class="infobox" aria-label="{{ infobox.infobox }}">
+ <h2 class="title"><bdi>{{ infobox.infobox }}</bdi></h2>
+ {%- if infobox.img_src -%}<img src="{{ image_proxify(infobox.img_src) }}" title="{{ infobox.infobox|striptags }}" alt="{{ infobox.infobox|striptags }}">{%- endif -%}
+ <p><bdi>{{ infobox.content | safe }}</bdi></p>
+ {%- if infobox.attributes -%}
+ <div class="attributes">
+ {%- for attribute in infobox.attributes -%}
+ <dl>
+ <dt><bdi>{{ attribute.label }} :</bdi></dt>
+ {%- if attribute.image -%}
+ <dd><img src="{{ image_proxify(attribute.image.src) }}" alt="{{ attribute.image.alt }}"></dd>
+ {%- else -%}
+ <dd><bdi>{{ attribute.value }}</bdi></dd>
+ {%- endif -%}
+ </dl>
+ {%- endfor -%}
+ </div>
+ {%- endif -%}
+ {%- if infobox.urls -%}
+ <div class="urls">
+ <ul>
+ {%- for url in infobox.urls -%}
+ <li class="url"><bdi><a href="{{ url.url }}" {%- if results_on_new_tab -%}target="_blank" rel="noopener noreferrer"{%- else -%}rel="noreferrer"{%- endif -%}>{{ url.title }}</a></bdi></li>
+ {%- endfor -%}
+ </ul>
+ </div>
+ {%- endif -%}
+ {%- if infobox.relatedTopics -%}
+ <div class="relatedTopics">
+ {%- for topic in infobox.relatedTopics -%}
+ <div>
+ <h3><bdi>{{ topic.name }}</bdi></h3>
+ {%- for suggestion in topic.suggestions -%}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
+ <input type="hidden" name="q" value="{{ suggestion }}">
+ <input type="hidden" name="time_range" value="{{ time_range }}">
+ <input type="hidden" name="language" value="{{ current_language }}">
+ <input type="hidden" name="safesearch" value="{{ safesearch }}">
+ <input type="hidden" name="theme" value="{{ theme }}">
+ {%- if timeout_limit -%}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{%- endif -%}
+ <input type="submit" value="{{ suggestion }}" />
+ </form>
+ {%- endfor -%}
+ </div>
+ {%- endfor -%}
+ </div>
+ {%- endif -%}
+</aside>
diff --git a/searx/templates/simple/elements/search_url.html b/searx/templates/simple/elements/search_url.html
new file mode 100644
index 000000000..b3994fd94
--- /dev/null
+++ b/searx/templates/simple/elements/search_url.html
@@ -0,0 +1,18 @@
+<div id="search_url" role="complementary" aria-labelledby="search_url-title">
+ <details>
+ <summary class="title" id="search_url-title">{{ _('Search URL') }}</summary>
+ <div class="selectable_url">
+ <pre>{{ url_for('search', _external=True) }}?q={{ q|urlencode }}&amp;language={{ current_language }}&amp;time_range={{ time_range }}&amp;safesearch={{ safesearch }}
+ {%- if pageno > 1 -%}
+ &amp;pageno={{ pageno }}
+ {%- endif -%}
+ {%- if selected_categories -%}
+ &amp;categories={{ selected_categories|join(",") | replace(' ','+') }}
+ {%- endif -%}
+ {%- if timeout_limit -%}
+ &amp;timeout_limit={{ timeout_limit|urlencode }}
+ {%- endif -%}
+ </pre>
+ </div>
+ </details>
+</div>
diff --git a/searx/templates/simple/elements/suggestions.html b/searx/templates/simple/elements/suggestions.html
new file mode 100644
index 000000000..52d9666bf
--- /dev/null
+++ b/searx/templates/simple/elements/suggestions.html
@@ -0,0 +1,23 @@
+<div id="suggestions" role="complementary" aria-labelledby="suggestions-title">
+ <details>
+ <summary class="title" id="suggestions-title">{{ _('Suggestions') }}</summary>
+ <div class="wrapper">
+ {%- for suggestion in suggestions -%}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('search') }}">
+ <input type="hidden" name="q" value="{{ suggestion.url }}">
+ {%- for category in selected_categories -%}
+ <input type="hidden" name="category_{{ category }}" value="1">
+ {%- endfor -%}
+ <input type="hidden" name="language" value="{{ current_language }}">
+ <input type="hidden" name="time_range" value="{{ time_range }}">
+ <input type="hidden" name="safesearch" value="{{ safesearch }}">
+ <input type="hidden" name="theme" value="{{ theme }}">
+ {%- if timeout_limit -%}
+ <input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >
+ {%- endif -%}
+ <input type="submit" class="suggestion" role="link" value="&bull; {{ suggestion.title }}">
+ </form>
+ {%- endfor -%}
+ </div>
+ </details>
+</div>