{# ── Macros ── #} {% macro hero(label, value, color, spark, delta=None, delta_dir=None, tip=None) %}
{{ value }}{% if delta %}{{ delta }}{% endif %}
{{ label }}{% if tip %}i{% endif %}
{% if spark and spark|length > 2 %} {% set ns = namespace(mn=spark[0], mx=spark[0]) %} {% for v in spark %}{% if v < ns.mn %}{% set ns.mn = v %}{% endif %}{% if v > ns.mx %}{% set ns.mx = v %}{% endif %}{% endfor %} {% set rng = ns.mx - ns.mn if ns.mx != ns.mn else 1 %} {% endif %}
{% endmacro %} {% macro stat(label, value, color, tip=None) %}
{{ value }}
{{ label }}{% if tip %}i{% endif %}
{% endmacro %}
{% for card in overview.hero_cards %} {{ hero(card.label, card.value, card.color, card.spark, card.delta, card.delta_dir, card.tip) }} {% endfor %}
{% for card in overview.stat_cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
Day-of-Week Patterns
{% if overview.personal_records %}
Personal Records
{% for pr in overview.personal_records %}
{{ pr.icon }}
{{ pr.value }}
{{ pr.label }}
{{ pr.date }}
{% endfor %}
{% endif %} {% if overview.monthly_table %}
Month by Month
{{ overview.monthly_table | safe }}
{% endif %}
{% if vitals.stat_cards %}
{% for card in vitals.stat_cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
{% endif %}
{% if sleep.hero_cards %}
{% for card in sleep.hero_cards %} {{ hero(card.label, card.value, card.color, card.spark, card.delta, card.delta_dir, card.tip) }} {% endfor %}
{% endif %} {% if sleep.stat_cards %}
{% for card in sleep.stat_cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
{% endif %}
{% if training.hero_cards %}
{% for card in training.hero_cards %} {{ hero(card.label, card.value, card.color, card.spark, card.delta, card.delta_dir, card.tip) }} {% endfor %}
{% endif %} {% for group in training.card_groups %}
{{ group.label }}
{% for card in group.cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
{% endfor %} {% if training.records %}
Training Records
{% for pr in training.records %}
{{ pr.value }}
{{ pr.label }}
{{ pr.date }}
{% endfor %}
{% endif %}
{% if activity.stat_cards %}
{% for card in activity.stat_cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
{% endif %}
{% if routes_tab.stat_cards %}
{% for card in routes_tab.stat_cards %} {{ stat(card.label, card.value, card.color, card.tip) }} {% endfor %}
{% endif %} {{ routes_html | safe }}