fix(story): smart date range formatting + blueprint end_date format fix

Blueprint: end_date format changed from 'Y-m-d H:i' to 'Y-m-d' — the
demo frontmatter stores dates without a time component so Admin was
failing to parse it and showing the field empty.

Template: three-case smart range formatting:
- Same month & year  → 01 – 03 Sep 2025
- Same year only     → 01 Jan – 03 Sep 2025
- Different years    → 01 Jan 2025 – 03 Feb 2026

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vgmzx8VTTTmCskSpQtsLTr
This commit is contained in:
2026-06-20 11:50:44 +02:00
parent bc67a0ee88
commit 13d6576a2c
2 changed files with 14 additions and 2 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ form:
header.end_date:
type: datetime
label: End Date
format: 'Y-m-d H:i'
format: 'Y-m-d'
help: 'Optional — leave blank for a single-day story'
header.hero_image:
+13 -1
View File
@@ -13,7 +13,19 @@
{% set date_str = page.date|date('d M Y') %}
{% if page.header.end_date %}
{% set date_str = page.date|date('d M Y') ~ ' ' ~ page.header.end_date|date('d M Y') %}
{% set sd = page.date|date('d') %}
{% set sm = page.date|date('M') %}
{% set sy = page.date|date('Y') %}
{% set ed = page.header.end_date|date('d') %}
{% set em = page.header.end_date|date('M') %}
{% set ey = page.header.end_date|date('Y') %}
{% if sy == ey and sm == em %}
{% set date_str = sd ~ ' ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey %}
{% elseif sy == ey %}
{% set date_str = sd ~ ' ' ~ sm ~ ' ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey %}
{% else %}
{% set date_str = sd ~ ' ' ~ sm ~ ' ' ~ sy ~ ' ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey %}
{% endif %}
{% endif %}
{% set location = page.header.location_name ?? '' %}