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.jinja119
1 files changed, 118 insertions, 1 deletions
diff --git a/src/hydrilla/proxy/web_ui/templates/index.html.jinja b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
index 010c2ed..2b49361 100644
--- a/src/hydrilla/proxy/web_ui/templates/index.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
@@ -22,6 +22,14 @@ code in a proprietary work, I am not going to enforce this in court.
{% 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 %}
<h3>
{{ _('web_ui.home.heading.welcome_to_haketilo') }}
@@ -182,4 +190,113 @@ code in a proprietary work, I am not going to enforce this in court.
])
}}
{% endif %}
-{% endblock %}
+
+ <div class="horizontal-separator"></div>
+
+ {{ label(_('web_ui.home.popup_settings_label')) }}
+
+ {%
+ 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 %}
+{% endblock main %}