From 8edbfd2dd3891819ef0f71501c937838f67431e8 Mon Sep 17 00:00:00 2001 From: Mischa Date: Sun, 21 Jun 2026 01:43:24 +0200 Subject: [PATCH] feat: add travelling branch and GPX to home map (active trip mode) --- themes/intotheeast/templates/home.html.twig | 89 ++++++++++++++++----- 1 file changed, 70 insertions(+), 19 deletions(-) diff --git a/themes/intotheeast/templates/home.html.twig b/themes/intotheeast/templates/home.html.twig index 984e350..944b57a 100644 --- a/themes/intotheeast/templates/home.html.twig +++ b/themes/intotheeast/templates/home.html.twig @@ -1,21 +1,25 @@ {% extends 'partials/base.html.twig' %} {% block content %} -{% set slug = config.site.active_trip %} -{% set trip = grav.pages.find('/trips/' ~ slug) %} -{% set dailies_page = grav.pages.find('/trips/' ~ slug ~ '/dailies') %} -{% set stories_page = grav.pages.find('/trips/' ~ slug ~ '/stories') %} +{% set trip_route = config.site.active_trip %} +{% set trip = grav.pages.find(trip_route) %} + +{% if config.site.travelling %} +{# ══════════════════════════════════════════════════════════ ACTIVE TRIP MODE #} + +{% set dailies_page = grav.pages.find(trip_route ~ '/dailies') %} +{% set stories_page = grav.pages.find(trip_route ~ '/stories') %} {% set journal_entries = dailies_page ? dailies_page.children.published() : [] %} {% set story_entries = stories_page ? stories_page.children.published() : [] %} {% set all_items = [] %} {% for e in journal_entries %} - {% set all_items = all_items|merge([{'type': 'journal', 'page': e, 'date': e.date}]) %} + {% set all_items = all_items|merge([{'type': 'journal', 'page': e, 'date': e.header.date}]) %} {% endfor %} {% for s in story_entries %} - {% set all_items = all_items|merge([{'type': 'story', 'page': s, 'date': s.date}]) %} + {% set all_items = all_items|merge([{'type': 'story', 'page': s, 'date': s.header.date}]) %} {% endfor %} -{% set all_items = all_items|sort((a, b) => a.date < b.date ? 1 : -1) %} +{% set all_items = all_items|sort_by_key('date', 3) %} {% set journal_count = journal_entries|length %} {% set story_count = story_entries|length %} @@ -28,11 +32,21 @@ 'lng': item.page.header.lng|number_format(6, '.', ''), 'slug': item.page.slug, 'title': item.page.title, - 'url': item.page.url + 'url': item.page.url, + 'force_connect': item.page.header.force_connect ? true : false }]) %} {% endif %} {% endfor %} +{% set home_gpx_urls = [] %} +{% if trip %} + {% for name, media in trip.media.all %} + {% if name|split('.')|last == 'gpx' %} + {% set home_gpx_urls = home_gpx_urls|merge([trip.url ~ '/' ~ name]) %} + {% endif %} + {% endfor %} +{% endif %} +
@@ -40,7 +54,7 @@
-

{{ trip ? trip.title : slug }}

+

{{ trip ? trip.title : trip_route }}

{{ journal_count }} journal {{ journal_count == 1 ? 'entry' : 'entries' }} {% if story_count > 0 %} · {{ story_count }} {{ story_count == 1 ? 'story' : 'stories' }}{% endif %} @@ -108,15 +122,15 @@ {% set hero = entry.media.images|first %} {% endif %} - {% if hero %} -
- {{ entry.title }} -
- {% endif %} -
- ✦ Story -

{{ entry.title }}

-
+ {% if hero %} +
+ {{ entry.title }} +
+ {% endif %} +
+ ✦ Story +

{{ entry.title }}

+
{% endif %} {% endfor %} @@ -130,9 +144,13 @@ {% if map_entries|length > 0 %} +{% if home_gpx_urls|length > 0 %} + +{% endif %} {% endif %} + +{% else %} +{# ════════════════════════════════════════════════ BETWEEN-TRIPS MODE (Task 3) #} +

Off season — highlights coming in Task 3.

+{% endif %} + {% endblock %}