aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asset-sources/theme.scss51
-rw-r--r--fietsboek/static/theme.css51
-rw-r--r--fietsboek/static/theme.css.map2
-rw-r--r--fietsboek/templates/details.jinja245
4 files changed, 148 insertions, 1 deletions
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;
+}
+/* </Climbs> */
+
.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;
+}
+
+/* </Climbs> */
.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 %}
</div>
{% endif %}
+
+ {% if track.climbs %}
+ <h2>{{ _("page.details.climbs") }}</h2>
+ <div class="climbs">
+ {% for climb in track.climbs %}
+ <div class="climb card">
+ <h5 class="card-header">
+ {{ climb.display_name() }}
+ {% if climb.category is not none %}
+ <div class="climb-category climb-category-{{ climb.category }}">
+ {% if climb.category == 0 %}
+ HC
+ {% else %}
+ {{ climb.category }}
+ {% endif %}
+ </div>
+ {% endif %}
+ </h5>
+
+ <img class="mb-2" src="{{ request.route_url('climb-preview', climb_id=climb.id) }}">
+ <img src="{{ request.route_url('climb-profile', climb_id=climb.id) }}">
+
+ <table>
+ <tr>
+ <th scope="row">{{ _("page.details.climb.length") }}</th>
+ <td>{{ (climb.length / 1000) | round(2) | format_decimal }} km</td>
+ </tr>
+ <tr>
+ <th scope="row">{{ _("page.details.climb.average_grade") }}</th>
+ <td>{{ (climb.avg_grade * 100) | round(2) | format_decimal }} %</td>
+ </tr>
+ <tr>
+ <th scope="row">{{ _("page.details.climb.lowest_elevation") }}</th>
+ <td>{{ climb.lowest_elevation | round(2) | format_decimal }} m</td>
+ </tr>
+ <tr>
+ <th scope="row">{{ _("page.details.climb.highest_elevation") }}</th>
+ <td>{{ climb.highest_elevation | round(2) | format_decimal }} m</td>
+ </tr>
+ </table>
+ </div>
+ {% endfor %}
+ </div>
+ {% endif %}
+
{% if description %}
<div class="track-description">
{{ description }}