aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui/templates/index.html.jinja
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/web_ui/templates/index.html.jinja')
-rw-r--r--src/hydrilla/proxy/web_ui/templates/index.html.jinja365
1 files changed, 365 insertions, 0 deletions
diff --git a/src/hydrilla/proxy/web_ui/templates/index.html.jinja b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
new file mode 100644
index 0000000..d6a47f0
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
@@ -0,0 +1,365 @@
+{#
+SPDX-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0
+
+Proxy web UI home page.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use of this
+code in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "hkt_mitm_it_base.html.jinja" %}
+
+{% block title %} {{ _('web_ui.home.title') }} {% endblock %}
+
+{% block style %}
+ {{ super() }}
+
+ {% include 'include/checkbox_tricks_style.css.jinja' %}
+{% endblock %}
+
+{% import 'import/checkbox_tricks.html.jinja' as tricks %}
+
+{% block main %}
+ {% if file_installation_error is defined %}
+ {{ error_note(_('web_ui.err.file_installation_error')) }}
+ {% endif %}
+
+ {% if impossible_situation_error is defined %}
+ {{ error_note(_('web_ui.err.impossible_situation_error')) }}
+ {% endif %}
+
+ <h3>
+ {{ _('web_ui.home.heading.welcome_to_haketilo') }}
+ </h3>
+
+ <p>
+ {{ _('web_ui.home.this_is_haketilo_page') }}
+ </p>
+
+ <div class="horizontal-separator"></div>
+
+ <h4>
+ {{ _('web_ui.home.heading.about_haketilo') }}
+ </h4>
+
+ <p class="has-colored-links">
+ {{ _('web_ui.home.html.haketilo_is_blah_blah')|safe }}
+ </p>
+
+ <p class="has-colored-links">
+ {% set fmt = _('web_ui.home.html.see_haketilo_doc_{url}') %}
+ {% set doc_url = url_for('home.home_doc', page='doc_index') %}
+ {{ fmt.format(url=doc_url|e)|safe }}
+ </p>
+
+ <div class="horizontal-separator"></div>
+
+ {% if request.url.startswith('http://') %}
+ <h4>
+ {{ _('web_ui.home.heading.configuring_browser_for_haketilo') }}
+ </h4>
+
+ <p class="has-colored-links">
+ {{ _('web_ui.home.html.to_add_certs_do_xyz')|safe }}
+ </p>
+
+ <div class="horizontal-separator"></div>
+ {% endif %}
+
+ <h4>
+ {{ _('web_ui.home.heading.options') }}
+ </h4>
+
+ {{ label(_('web_ui.home.choose_language_label')) }}
+
+ {% call unordered_list() %}
+ {%
+ for lang_name, lang_code in [
+ ('english', 'en_US'),
+ ('polski', 'pl_PL')
+ ]
+ %}
+ {% call list_entry() %}
+ <form method="POST" class="inline">
+ <input type="hidden" name="action" value="set_lang">
+ <input type="hidden" name="locale" value="{{ lang_code }}">
+ <button>{{ lang_name }}</button>
+ </form>
+ {% endcall %}
+ {% endfor %}
+ {% endcall %}
+
+ {% call label(_('web_ui.home.mapping_usage_mode_label')) %}
+ {{ hkt_doc_link('packages') }}
+ {% endcall %}
+
+ {% set use_enabled_but_classes = ['green-button'] %}
+ {% set use_auto_but_classes = ['green-button'] %}
+ {% set use_question_but_classes = ['green-button'] %}
+
+ <p>
+ {% if settings.mapping_use_mode == MappingUseMode.WHEN_ENABLED %}
+ {% do use_enabled_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.packages_are_used_when_enabled') }}
+ {% elif settings.mapping_use_mode == MappingUseMode.QUESTION %}
+ {% do use_question_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.user_gets_asked_whether_to_enable_package') }}
+ {% else %}
+ {# settings.mapping_use_mode == MappingUseMode.AUTO #}
+ {% do use_auto_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.packages_are_used_automatically') }}
+ {% endif %}
+ </p>
+
+ {{
+ button_row([
+ (use_enabled_but_classes,
+ _('web_ui.home.use_enabled_button'),
+ {'action': 'use_enabled'}),
+ (use_question_but_classes,
+ _('web_ui.home.use_question_button'),
+ {'action': 'use_question'}),
+ (use_auto_but_classes,
+ _('web_ui.home.use_auto_button'),
+ {'action': 'use_auto'})
+ ])
+ }}
+
+ <div class="horizontal-separator"></div>
+
+ {% call label(_('web_ui.home.script_blocking_mode_label')) %}
+ {{ hkt_doc_link('script_blocking') }}
+ {% endcall %}
+
+ {% set allow_but_classes = ['red-button'] %}
+ {% set block_but_classes = ['blue-button'] %}
+
+ <p>
+ {% if settings.default_allow_scripts %}
+ {% do allow_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.scripts_are_allowed_by_default') }}
+ {% else %}
+ {% do block_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.scripts_are_blocked_by_default') }}
+ {% endif %}
+ </p>
+
+ {% set allow_but_text = _('web_ui.home.allow_scripts_button') %}
+ {% set block_but_text = _('web_ui.home.block_scripts_button') %}
+
+ {{
+ button_row([
+ (allow_but_classes, allow_but_text, {'action': 'allow_scripts'}),
+ (block_but_classes, block_but_text, {'action': 'block_scripts'})
+ ])
+ }}
+
+ <div class="horizontal-separator"></div>
+
+ {% call label(_('web_ui.home.advanced_features_label')) %}
+ {{ hkt_doc_link('advanced_ui_features') }}
+ {% endcall %}
+
+ {% set advanced_user_but_classes = ['red-button'] %}
+ {% set simple_user_but_classes = ['blue-button'] %}
+
+ <p>
+ {% if settings.advanced_user %}
+ {% do advanced_user_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.user_is_advanced_user') }}
+ {% else %}
+ {% do simple_user_but_classes.append('disabled-button') %}
+ {{ _('web_ui.home.user_is_simple_user') }}
+ {% endif %}
+ </p>
+
+ {{
+ button_row([
+ (advanced_user_but_classes,
+ _('web_ui.home.user_make_advanced_button'),
+ {'action': 'user_make_advanced'}),
+ (simple_user_but_classes,
+ _('web_ui.home.user_make_simple_button'),
+ {'action': 'user_make_simple'})
+ ])
+ }}
+
+ {% if settings.update_waiting %}
+ <div class="horizontal-separator"></div>
+
+ {{ label(_('web_ui.home.update_waiting_label')) }}
+
+ <p>
+ {{ _('web_ui.home.update_is_awaiting') }}
+ </p>
+
+ {% set update_but_text = _('web_ui.home.update_items_button') %}
+
+ {{
+ button_row([
+ (['green-button'], update_but_text, {'action': 'upate_all_items'})
+ ])
+ }}
+ {% endif %}
+
+ {% if orphan_item_stats.mappings > 0 or orphan_item_stats.resources > 0 %}
+ <div class="horizontal-separator"></div>
+
+ {{ label(_('web_ui.home.orphans_label')) }}
+
+ <p>
+ {% if settings.advanced_user %}
+ {% if orphan_item_stats.mappings > 0 %}
+ {{
+ _('web_ui.home.orphans_to_delete_{mappings}')
+ .format(mappings = orphan_item_stats.mappings)
+ }}
+ {% else %}
+ {{ _('web_ui.home.orphans_to_delete_exist') }}
+ {% endif %}
+ {% else %}
+ {{
+ _('web_ui.home.orphans_to_delete_{mappings}_{resources}')
+ .format(
+ mappings = orphan_item_stats.mappings,
+ resources = orphan_item_stats.resources
+ )
+ }}
+ {% endif %}
+ </p>
+
+ {% set prune_but_text = _('web_ui.home.prune_orphans_button') %}
+
+ {{
+ button_row([
+ (['green-button'], prune_but_text, {'action': 'prune_orphans'})
+ ])
+ }}
+ {% endif %}
+
+ <div class="horizontal-separator"></div>
+
+ {% call label(_('web_ui.home.popup_settings_label')) %}
+ {{ hkt_doc_link('popup') }}
+ {% endcall %}
+
+ {%
+ macro render_popup_settings(
+ page_type,
+ initial_show = false,
+ popup_change_but_base_classes = ['red-button', 'blue-button']
+ )
+ %}
+ {% set radio_id = 'popup_settings_radio_' ~ page_type %}
+ {{ tricks.sibling_hider_radio('popup_settings', radio_id, initial_show) }}
+
+ <div>
+ <p>
+ {{ _('web_ui.home.configure_popup_settings_on_pages_with') }}
+ </p>
+
+ <div class="flex-row">
+ {%
+ for but_page_type, but_text in [
+ ('jsallowed', _('web_ui.home.popup_settings_jsallowed_button')),
+ ('jsblocked', _('web_ui.home.popup_settings_jsblocked_button')),
+ ('payloadon', _('web_ui.home.popup_settings_payloadon_button'))
+ ]
+ %}
+ {% set attrs, classes = {}, ['green-button'] %}
+
+ {% if but_page_type == page_type %}
+ {% do classes.append('disabled-button') %}
+ {% else %}
+ {% set but_radio_id = 'popup_settings_radio_' ~ but_page_type %}
+ {% do attrs.update({'for': but_radio_id}) %}
+ {% endif %}
+
+ {% if not loop.first %}
+ {% do classes.append('button-bordering-left') %}
+ {% endif %}
+ {% if not loop.last %}
+ {% do classes.append('button-bordering-right') %}
+ {% endif %}
+
+ {% do attrs.update({'class': classes|join(' ')}) %}
+
+ <label {{ attrs|xmlattr }}>
+ {{ but_text }}
+ </label>
+
+ {% if not loop.last %}
+ <div class="button-row-separator"></div>
+ {% endif %}
+ {% endfor %}
+ </div>
+
+ {% set popup_no_but_classes = [popup_change_but_base_classes[0]] %}
+ {% set popup_yes_but_classes = [popup_change_but_base_classes[1]] %}
+
+ {% set settings_prop = 'default_popup_' ~ page_type %}
+ {% set is_on = (settings|attr(settings_prop)).keyboard_trigger %}
+
+ {% if is_on %}
+ {% do popup_yes_but_classes.append('disabled-button') %}
+ {% else %}
+ {% do popup_no_but_classes.append('disabled-button') %}
+ {% endif %}
+
+ <p>
+ {{ caller(is_on) }}
+ </p>
+
+ {{
+ button_row([
+ (popup_no_but_classes,
+ _('web_ui.home.popup_no_button'),
+ {'action': 'popup_no_when_' ~ page_type}),
+ (popup_yes_but_classes,
+ _('web_ui.home.popup_yes_button'),
+ {'action': 'popup_yes_when_' ~ page_type})
+ ])
+ }}
+ </div>
+ {% endmacro %}
+
+ {% set but_classes = ['green-button', 'green-button'] %}
+ {% call(popup_is_on) render_popup_settings('jsallowed', true, but_classes) %}
+ {% if popup_is_on %}
+ {{ _('web_ui.home.jsallowed_popup_yes') }}
+ {% else %}
+ {{ _('web_ui.home.jsallowed_popup_no') }}
+ {% endif %}
+ {% endcall %}
+
+ {% call(popup_is_on) render_popup_settings('jsblocked') %}
+ {% if popup_is_on %}
+ {{ _('web_ui.home.jsblocked_popup_yes') }}
+ {% else %}
+ {{ _('web_ui.home.jsblocked_popup_no') }}
+ {% endif %}
+ {% endcall %}
+
+ {% call(popup_is_on) render_popup_settings('payloadon') %}
+ {% if popup_is_on %}
+ {{ _('web_ui.home.payloadon_popup_yes') }}
+ {% else %}
+ {{ _('web_ui.home.payloadon_popup_no') }}
+ {% endif %}
+ {% endcall %}
+
+ <p>
+ {{ _('web_ui.home.popup_can_be_opened_by') }}
+ </p>
+{% endblock main %}