diff options
Diffstat (limited to 'src/hydrilla/proxy/web_ui/templates/index.html.jinja')
-rw-r--r-- | src/hydrilla/proxy/web_ui/templates/index.html.jinja | 365 |
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 %} |