From c48b6a287a5f107328558f53d0e08110df7ea522 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Sun, 27 Sep 2026 21:44:25 +0200 Subject: add climbs to track detail page --- asset-sources/theme.scss | 51 ++++++++++++++++++++++++++++++++++++++ fietsboek/static/theme.css | 51 ++++++++++++++++++++++++++++++++++++++ fietsboek/static/theme.css.map | 2 +- fietsboek/templates/details.jinja2 | 45 +++++++++++++++++++++++++++++++++ 4 files changed, 148 insertions(+), 1 deletion(-) diff --git a/asset-sources/theme.scss b/asset-sources/theme.scss index 374f5fe..85062a9 100644 --- a/asset-sources/theme.scss +++ b/asset-sources/theme.scss @@ -176,6 +176,57 @@ strong { cursor: pointer; } +/* Climbs! */ +.climbs { + display: flex; + flex-wrap: wrap; + gap: 1em; +} + +.climb { + width: 300px; +} + +.climb-category { + float: right; + border: 3px solid; + border-radius: 5px; + min-width: 1.5em; + text-align: center; + font-size: 80%; +} + +.climb-category-4 { + border-color: #99ae36; + background-color: #D4E09B; + color: #000; +} + +.climb-category-3 { + border-color: #8a7b3e; + background-color: #C8BB84; + color: #000; +} + +.climb-category-2 { + border-color: #7a5a38; + background-color: #BC956D; + color: #fff; +} + +.climb-category-1 { + border-color: #6b4332; + background-color: #B07056; + color: #fff; +} + +.climb-category-0 { + border-color: #622c26; + background-color: #A44A3F; + color: #fff; +} +/* */ + .count-field { width: 50px; display: inline-block; diff --git a/fietsboek/static/theme.css b/fietsboek/static/theme.css index 1005e75..e5c0f73 100644 --- a/fietsboek/static/theme.css +++ b/fietsboek/static/theme.css @@ -169,6 +169,57 @@ strong { cursor: pointer; } +/* Climbs! */ +.climbs { + display: flex; + flex-wrap: wrap; + gap: 1em; +} + +.climb { + width: 300px; +} + +.climb-category { + float: right; + border: 3px solid; + border-radius: 5px; + min-width: 1.5em; + text-align: center; + font-size: 80%; +} + +.climb-category-4 { + border-color: #99ae36; + background-color: #D4E09B; + color: #000; +} + +.climb-category-3 { + border-color: #8a7b3e; + background-color: #C8BB84; + color: #000; +} + +.climb-category-2 { + border-color: #7a5a38; + background-color: #BC956D; + color: #fff; +} + +.climb-category-1 { + border-color: #6b4332; + background-color: #B07056; + color: #fff; +} + +.climb-category-0 { + border-color: #622c26; + background-color: #A44A3F; + color: #fff; +} + +/* */ .count-field { width: 50px; display: inline-block; diff --git a/fietsboek/static/theme.css.map b/fietsboek/static/theme.css.map index 262e299..ff147a0 100644 --- a/fietsboek/static/theme.css.map +++ b/fietsboek/static/theme.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../asset-sources/theme.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAlCJ;EAqCE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACI;;;AAGJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAIJ;EACE;EACA;;;AAKF;EACE;EACA;EAEA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI,eACE;;;AAIJ;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;;;AAIJ;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE","file":"theme.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../asset-sources/theme.scss"],"names":[],"mappings":"AAAA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAlCJ;EAqCE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACI;;;AAGJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAEF;AAEA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAIJ;EACE;EACA;;;AAKF;EACE;EACA;EAEA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI,eACE;;;AAIJ;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;;;AAIJ;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE","file":"theme.css"} \ No newline at end of file diff --git a/fietsboek/templates/details.jinja2 b/fietsboek/templates/details.jinja2 index f97f01f..6eb7835 100644 --- a/fietsboek/templates/details.jinja2 +++ b/fietsboek/templates/details.jinja2 @@ -176,6 +176,51 @@ {% endfor %} {% endif %} + + {% if track.climbs %} +

{{ _("page.details.climbs") }}

+
+ {% for climb in track.climbs %} +
+
+ {{ climb.display_name() }} + {% if climb.category is not none %} +
+ {% if climb.category == 0 %} + HC + {% else %} + {{ climb.category }} + {% endif %} +
+ {% endif %} +
+ + + + + + + + + + + + + + + + + + + + + +
{{ _("page.details.climb.length") }}{{ (climb.length / 1000) | round(2) | format_decimal }} km
{{ _("page.details.climb.average_grade") }}{{ (climb.avg_grade * 100) | round(2) | format_decimal }} %
{{ _("page.details.climb.lowest_elevation") }}{{ climb.lowest_elevation | round(2) | format_decimal }} m
{{ _("page.details.climb.highest_elevation") }}{{ climb.highest_elevation | round(2) | format_decimal }} m
+
+ {% endfor %} +
+ {% endif %} + {% if description %}
{{ description }} -- cgit v1.2.3