{% if filter_error %}
Filter Error: {{ filter_error }}
{% endif %} {% if events %} {% for event in events %} {# Per-adapter one-line summary, dispatched by adapter name with a generic fallback (no hardcoded list). Captured once so it serves both the Subject cell and the map popup (via data-subject). #} {% set subject_summary %}{% include ["_event_summaries/" ~ event.adapter ~ ".html", "_event_summaries/_default.html"] %}{% endset %} {# Location: generic _enriched.geocoder reader, then top-level named fields, then coordinates. No adapter-specific logic. #} {% set d = (event.data.get('data') or {}).get('data') or {} %} {% set gc = (d.get('_enriched') or {}).get('geocoder') or {} %} {% set loc_local = gc.get('city') or d.get('city') or gc.get('county') or d.get('county') %} {% set loc_state = gc.get('state') or d.get('state') %} {% set loc_country = gc.get('country') or d.get('country') %} {% set loc_parts = [loc_local, loc_state, loc_country] | select | list %} {% endfor %}
Time Location Subject Adapter
{{ event.time_human }} {% if loc_parts %}{{ loc_parts | join(', ') }}{% elif gc.get('landclass') %}{{ gc.landclass }}{% else %}—{% endif %} {{ subject_summary | trim or '—' }} {{ event.adapter_display }}
Showing {{ events | length }} event{{ 's' if events | length != 1 else '' }}. {% if next_cursor %} Next → {% else %} End of results {% endif %}
{% else %}

No events match the filters.

{% endif %}