* Project refactor (#85) * Major refactor of requests and session management - Switches from pycurl to requests library - Allows for less janky decoding, especially with non-latin character sets - Adds session level management of user configs - Allows for each session to set its own config -- users with blocked cookies fall back to the "default" profile (same usage as before) - Updates key gen/regen to more aggressively swap out keys after each request * Added ability to save/load configs by name - New PUT method for config allows changing config with specified name - New methods in js controller to handle loading/saving of configs * Result formatting and removal of unused elements - Fixed question section formatting from results page (added appropriate padding and made questions styled as italic) - Removed user agent display from main config settings * Minor change to save config button label (now "Save As...") * Fixed issue with "de-pickling" of flask session Having a gitignore-everything ("*") file within a flask session folder seems to cause a weird bug where the state of the app becomes unusable from continuously trying to prune files listed in the gitignore (and it can't prune '*'). * Switched to pickling saved configs * Updated ad/sponsored content filter and conf naming Configs are now named with a .conf extension to allow for easier manual cleanup/modification of named config files Sponsored content now removed by basic string matching of span content * Version bump to 0.2.0 * Fixed request.send return style * Moved custom conf files to their own directory * Refactored whoogle session mgmt Now allows a fallback "default" session to be used if a user's browser is blocking cookies * Reworked pytest client fixture to support new session mgmt * Added better multilingual support, updated filter Results page now includes method for switching to "All Languages" from whichever language is specified as the primary in the config (see #74). Also removes the non-Whoogle links from the page footer, leaving only the page navigation controls Added support for the date range filter on the results page, though I'd still recommend using the ":past <unit>" query instead. * Removed no-cache enforcement, minor styling/formatting improvements * Improving ad filtering for non-English languages * Added footer to results page
63 lines
3.1 KiB
HTML
63 lines
3.1 KiB
HTML
{% if mobile %}
|
|
<header>
|
|
<div class="bz1lBb">
|
|
<form class="Pg70bf" id="search-form" method="POST">
|
|
<a class="logo-link mobile-logo"
|
|
href="/"
|
|
style="display:flex; justify-content:center; align-items:center; color:#685e79; font-size:18px; ">
|
|
<span class="V6gwVd">Wh</span><span class="iWkuvd">o</span><span class="cDrQ7">o</span><span
|
|
class="V6gwVd">g</span><span class="ntlR9">l</span><span
|
|
class="iWkuvd tJ3Myc">e</span>
|
|
</a>
|
|
<div class="H0PQec" style="width: 100%;">
|
|
<div class="sbc esbc autocomplete">
|
|
<input id="search-bar" autocapitalize="none" autocomplete="off" class="noHIxc" name="q"
|
|
style="background-color: {{ '#000' if dark_mode else '#fff' }};
|
|
color: {{ '#685e79' if dark_mode else '#000' }};
|
|
border: {{ '1px solid #685e79' if dark_mode else '' }}"
|
|
spellcheck="false" type="text" value="{{ query }}">
|
|
<input name="tbm" value="{{ search_type }}" style="display: none">
|
|
<div class="sc"></div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</header>
|
|
{% else %}
|
|
<header>
|
|
<div class="logo-div">
|
|
<a class="logo-link" href="/">
|
|
<span class="V6gwVd logo-letter">Wh</span><span class="iWkuvd logo-letter">o</span><span
|
|
class="cDrQ7 logo-letter">o</span><span class="V6gwVd logo-letter">g</span><span
|
|
class="ntlR9 logo-letter">l</span><span class="iWkuvd tJ3Myc logo-letter">e</span>
|
|
</a>
|
|
</div>
|
|
<div class="search-div">
|
|
<form id="search-form" class="search-form" id="sf" method="POST">
|
|
<div class="autocomplete" style="width: 100%; flex: 1">
|
|
<div style="width: 100%; display: flex">
|
|
<input id="search-bar" autocapitalize="none" autocomplete="off" class="noHIxc" name="q"
|
|
spellcheck="false" type="text" value="{{ query }}"
|
|
style="background-color: {{ '#000' if dark_mode else '#fff' }};
|
|
color: {{ '#685e79' if dark_mode else '#000' }};
|
|
border: {{ '1px solid #685e79' if dark_mode else '' }}">
|
|
<input name="tbm" value="{{ search_type }}" style="display: none">
|
|
<div class="sc"></div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</header>
|
|
{% endif %}
|
|
|
|
<script>
|
|
const searchBar = document.getElementById("search-bar");
|
|
|
|
searchBar.addEventListener("keyup", function (event) {
|
|
if (event.keyCode !== 13) {
|
|
handleUserInput(searchBar);
|
|
} else {
|
|
document.getElementById("search-form").submit();
|
|
}
|
|
});
|
|
</script> |