Allow temp region selection from result view
This adds a new "temporary" config section of the results view, where a user can now change the country that their results come from without changing their default config settings. Closes #322main
parent
8e867a5ace
commit
3f363b0175
|
@ -406,6 +406,9 @@ def search():
|
||||||
search_header=render_template(
|
search_header=render_template(
|
||||||
'header.html',
|
'header.html',
|
||||||
config=g.user_config,
|
config=g.user_config,
|
||||||
|
translation=translation,
|
||||||
|
languages=app.config['LANGUAGES'],
|
||||||
|
countries=app.config['COUNTRIES'],
|
||||||
logo=render_template('logo.html', dark=g.user_config.dark),
|
logo=render_template('logo.html', dark=g.user_config.dark),
|
||||||
query=urlparse.unquote(query),
|
query=urlparse.unquote(query),
|
||||||
search_type=search_util.search_type,
|
search_type=search_util.search_type,
|
||||||
|
|
|
@ -143,7 +143,7 @@ select {
|
||||||
color: var(--whoogle-dark-contrast-text) !important;
|
color: var(--whoogle-dark-contrast-text) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content, .result-config {
|
||||||
background-color: var(--whoogle-dark-element-bg) !important;
|
background-color: var(--whoogle-dark-element-bg) !important;
|
||||||
color: var(--whoogle-contrast-text) !important;
|
color: var(--whoogle-contrast-text) !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,12 @@ header {
|
||||||
border-radius: 2px 0 0 0;
|
border-radius: 2px 0 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.result-config {
|
||||||
|
margin: 10px 0 10px 0;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.mobile-logo {
|
.mobile-logo {
|
||||||
font: 22px/36px Futura, Arial, sans-serif;
|
font: 22px/36px Futura, Arial, sans-serif;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
|
@ -121,7 +127,6 @@ a {
|
||||||
.header-tab-div {
|
.header-tab-div {
|
||||||
border-radius: 0 0 8px 8px;
|
border-radius: 0 0 8px 8px;
|
||||||
box-shadow: 0 2px 3px rgba(32, 33, 36, 0.18);
|
box-shadow: 0 2px 3px rgba(32, 33, 36, 0.18);
|
||||||
margin-bottom: 20px;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@ input {
|
||||||
color: var(--whoogle-contrast-text) !important;
|
color: var(--whoogle-contrast-text) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content, .result-config {
|
||||||
background-color: var(--whoogle-element-bg) !important;
|
background-color: var(--whoogle-element-bg) !important;
|
||||||
color: var(--whoogle-contrast-text) !important;
|
color: var(--whoogle-contrast-text) !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
const searchBar = document.getElementById("search-bar");
|
const searchBar = document.getElementById("search-bar");
|
||||||
|
const countrySelect = document.getElementById("result-country");
|
||||||
const arrowKeys = [37, 38, 39, 40];
|
const arrowKeys = [37, 38, 39, 40];
|
||||||
let searchValue = searchBar.value;
|
let searchValue = searchBar.value;
|
||||||
|
|
||||||
|
countrySelect.onchange = () => {
|
||||||
|
let str = window.location.href;
|
||||||
|
n = str.lastIndexOf("search");
|
||||||
|
if (n > 0) {
|
||||||
|
str = str.substring(0, n) +
|
||||||
|
`search?q=${searchBar.value}&country=${countrySelect.value}`;
|
||||||
|
window.location.href = str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
searchBar.addEventListener("keyup", function(event) {
|
searchBar.addEventListener("keyup", function(event) {
|
||||||
if (event.keyCode === 13) {
|
if (event.keyCode === 13) {
|
||||||
document.getElementById("search-form").submit();
|
document.getElementById("search-form").submit();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"lang_en": {
|
"lang_en": {
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
"config": "Configuration",
|
"config": "Configuration",
|
||||||
"config-country": "Set Country",
|
"config-country": "Country",
|
||||||
"config-lang": "Interface Language",
|
"config-lang": "Interface Language",
|
||||||
"config-lang-search": "Search Language",
|
"config-lang-search": "Search Language",
|
||||||
"config-near": "Near",
|
"config-near": "Near",
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
dir="auto">
|
dir="auto">
|
||||||
<input id="search-reset" type="reset" value="x">
|
<input id="search-reset" type="reset" value="x">
|
||||||
<input name="tbm" value="{{ search_type }}" style="display: none">
|
<input name="tbm" value="{{ search_type }}" style="display: none">
|
||||||
|
<input name="country" value="{{ config.country }}" style="display: none;">
|
||||||
<input type="submit" style="display: none;">
|
<input type="submit" style="display: none;">
|
||||||
<div class="sc"></div>
|
<div class="sc"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,6 +80,7 @@
|
||||||
value="{{ clean_query(query) }}"
|
value="{{ clean_query(query) }}"
|
||||||
dir="auto">
|
dir="auto">
|
||||||
<input name="tbm" value="{{ search_type }}" style="display: none">
|
<input name="tbm" value="{{ search_type }}" style="display: none">
|
||||||
|
<input name="country" value="{{ config.country }}" style="display: none;">
|
||||||
<input type="submit" style="display: none;">
|
<input type="submit" style="display: none;">
|
||||||
<div class="sc"></div>
|
<div class="sc"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -103,6 +105,24 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="result-config">
|
||||||
|
<label for="config-country">{{ translation['config-country'] }}: </label>
|
||||||
|
<select name="country" id="result-country">
|
||||||
|
{% for country in countries %}
|
||||||
|
<option value="{{ country.value }}"
|
||||||
|
{% if (
|
||||||
|
config.country != '' and config.country in country.value
|
||||||
|
) or (
|
||||||
|
config.country == '' and country.value == '')
|
||||||
|
%}
|
||||||
|
selected
|
||||||
|
{% endif %}>
|
||||||
|
{{ country.name }}
|
||||||
|
</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="" id="s">
|
<div class="" id="s">
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
Loading…
Reference in New Issue