summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinyuan Huang <88757735+BernieHuang2008@users.noreply.github.com>2023-09-27 14:19:35 +0000
committerJinyuan Huang <88757735+BernieHuang2008@users.noreply.github.com>2023-11-10 13:28:04 +0000
commit8adc7b0433fe67e6b34c04cbf52e34ac4d796754 (patch)
tree0155b75ffa774f41de9dd151397b3daaffb80915
parent96ccec1aa6507ef4d3dc05a08e01187f80080972 (diff)
add a "copy" button to the "search-url" sidebar
-rw-r--r--searx/static/themes/simple/src/js/main/results.js8
-rw-r--r--searx/static/themes/simple/src/less/style.less9
-rw-r--r--searx/templates/simple/elements/search_url.html1
3 files changed, 18 insertions, 0 deletions
diff --git a/searx/static/themes/simple/src/js/main/results.js b/searx/static/themes/simple/src/js/main/results.js
index 4eae5843..2309297d 100644
--- a/searx/static/themes/simple/src/js/main/results.js
+++ b/searx/static/themes/simple/src/js/main/results.js
@@ -16,6 +16,8 @@
}
));
+ d.querySelector('#search_url button#copy_url').style.display = "block";
+
searxng.on('.btn-collapse', 'click', function () {
var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');
var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');
@@ -41,6 +43,12 @@
}
});
+ searxng.on('#copy_url', 'click', function () {
+ var target = this.parentElement.querySelector('pre');
+ navigator.clipboard.writeText(target.innerText);
+ this.innerText = this.dataset.copiedText;
+ });
+
searxng.selectImage = function (resultElement) {
/* eslint no-unused-vars: 0 */
if (resultElement) {
diff --git a/searx/static/themes/simple/src/less/style.less b/searx/static/themes/simple/src/less/style.less
index 8bb10bb0..87f74766 100644
--- a/searx/static/themes/simple/src/less/style.less
+++ b/searx/static/themes/simple/src/less/style.less
@@ -729,9 +729,18 @@ summary.title {
#search_url {
div.selectable_url {
pre {
+ float: left;
width: 200em;
}
}
+
+ button#copy_url {
+ float: right;
+ padding: 0.4rem;
+ margin-left: 0.5rem;
+ border-radius: 0.3rem;
+ display: none; // will be shown by JS.
+ }
}
#links_on_top {
diff --git a/searx/templates/simple/elements/search_url.html b/searx/templates/simple/elements/search_url.html
index 9cc92b94..77c956da 100644
--- a/searx/templates/simple/elements/search_url.html
+++ b/searx/templates/simple/elements/search_url.html
@@ -1,6 +1,7 @@
<div id="search_url" role="complementary" aria-labelledby="search_url-title">
<details class="sidebar-collapsable">
<summary class="title" id="search_url-title">{{ _('Search URL') }}</summary>
+ <button id="copy_url" type="submit" data-copied-text="{{ _('Copied') }}">{{ _('Copy') }}</button>
<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 -%}