Replace pages' use of the options call with directly building the HTML components using templates, as the syntax is much nicer. Use a common set of data provided to all modules via pagetemplate.py instead of passing things like web_ui_options around. Closes #153

This commit is contained in:
Ian Renton
2026-09-25 21:22:31 +01:00
parent 4df00c321c
commit 8de163469b
27 changed files with 493 additions and 534 deletions
+22 -20
View File
@@ -20,50 +20,52 @@
<div class="col-auto me-auto pt-3"></div>
<div class="col-auto">
<div class="d-inline-flex gap-1">
{% module Template("widgets/filters_display_data_buttons.html", web_ui_options=web_ui_options) %}
{% module Template("widgets/filters_display_data_buttons.html") %}
</div>
</div>
</div>
<div id="filters-area" class="appearing-panel card mb-3">
{% module Template("widgets/filters_area_header.html", web_ui_options=web_ui_options) %}
{% module Template("widgets/filters_area_header.html") %}
<div class="card-body">
<div class="row row-cols-1 g-4 mb-4 row-cols-md-3">
<div class="col">
{% module Template("cards/bands.html", web_ui_options=web_ui_options) %}
{% module Template("cards/bands.html") %}
<div class="mt-4"></div>
{% module Template("cards/dx_continent.html", web_ui_options=web_ui_options) %}
{% module Template("cards/dx_continent.html") %}
<div class="mt-4"></div>
{% module Template("cards/de_continent.html", web_ui_options=web_ui_options) %}
{% module Template("cards/de_continent.html") %}
</div>
<div class="col">
{% module Template("cards/activities.html", web_ui_options=web_ui_options) %}
{% module Template("cards/activities.html",
activities=options["activities"], include_general_dx=True) %}
</div>
<div class="col">
{% module Template("cards/sources.html", web_ui_options=web_ui_options) %}
{% module Template("cards/sources.html",
sources=options["spot_providers"],
sources_enabled_by_default=options["spot_providers_enabled_by_default"]) %}
<div class="mt-4"></div>
{% module Template("cards/modes.html", web_ui_options=web_ui_options) %}
{% module Template("cards/modes.html") %}
</div>
</div>
</div>
</div>
<div id="display-area" class="appearing-panel card mb-3">
{% module Template("widgets/display_area_header.html", web_ui_options=web_ui_options) %}
{% module Template("widgets/display_area_header.html") %}
<div class="card-body">
<div id="display-container" class="row row-cols-1 row-cols-md-4 g-4">
<div class="col">
{% module Template("cards/spot_age.html", web_ui_options=web_ui_options) %}
{% module Template("cards/spot_age.html") %}
</div>
<div class="col">
{% module Template("cards/basemap.html", web_ui_options=web_ui_options) %}
{% module Template("cards/basemap.html") %}
</div>
<div class="col">
{% module Template("cards/map_features.html", web_ui_options=web_ui_options) %}
{% module Template("cards/map_features.html") %}
</div>
<div class="col">
{% module Template("cards/color_scheme_and_band_color_scheme.html",
web_ui_options=web_ui_options) %}
{% module Template("cards/color_scheme_and_band_color_scheme.html") %}
</div>
</div>
</div>
@@ -71,21 +73,21 @@
{% if web_ui_options["qrz_enabled"] or web_ui_options["hamqth_enabled"] %}
<div id="data-area" class="appearing-panel card mb-3">
{% module Template("widgets/your_data_area_header.html", web_ui_options=web_ui_options) %}
{% module Template("widgets/your_data_area_header.html") %}
<div class="card-body">
<div class="row row-cols-1 row-cols-md-4 g-4">
{% if web_ui_options["qrz_enabled"] %}
<div class="col">
{% module Template("cards/qrz.html", web_ui_options=web_ui_options) %}
{% module Template("cards/qrz.html") %}
</div>
{% end %}
{% if web_ui_options["hamqth_enabled"] %}
<div class="col">
{% module Template("cards/hamqth.html", web_ui_options=web_ui_options) %}
{% module Template("cards/hamqth.html") %}
</div>
{% end %}
<div class="col">
{% module Template("cards/wanted_calls.html", web_ui_options=web_ui_options) %}
{% module Template("cards/wanted_calls.html") %}
</div>
</div>
</div>
@@ -113,8 +115,8 @@
const CARTODB_API_KEY = "{{ web_ui_options.get('cartodb_api_key', '') }}";
</script>
<script src="/static/js/spotsbandsandmap.js?v=1790344337"></script>
<script src="/static/js/map.js?v=1790344337"></script>
<script src="/static/js/spotsbandsandmap.js?v=1790367751"></script>
<script src="/static/js/map.js?v=1790367751"></script>
<script>$(document).ready(function () {
$("#nav-link-map").addClass("active");
}); <!-- highlight active page in nav --></script>