Add CO2 breakdown by transport type to trip list and detail pages

Implements bug #194 by adding CO2 emission display by transport type:
- Add co2_by_transport_type() method to Trip class
- Display CO2 breakdown on trip list page and individual trip items
- Display CO2 breakdown on individual trip detail pages
- Show both total CO2 and breakdown by transport type (flight/train/ferry)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Edward Betts 2025-07-15 16:57:19 +02:00
parent af49dac232
commit a68df381fe
4 changed files with 46 additions and 0 deletions

View file

@ -78,6 +78,8 @@
{% set end = trip.end %}
{% set total_distance = trip.total_distance() %}
{% set distances_by_transport_type = trip.distances_by_transport_type() %}
{% set total_co2_kg = trip.total_co2_kg() %}
{% set co2_by_transport_type = trip.co2_by_transport_type() %}
{% block content %}
<div class="row">
@ -112,6 +114,18 @@
{% endfor %}
{% endif %}
{% if total_co2_kg %}
<div>Total CO₂: {{ "{:,.1f}".format(total_co2_kg) }} kg</div>
{% endif %}
{% if co2_by_transport_type %}
{% for transport_type, co2_kg in co2_by_transport_type %}
<div>{{ transport_type | title }} CO₂:
{{ "{:,.1f}".format(co2_kg) }} kg
</div>
{% endfor %}
{% endif %}
{% set delta = human_readable_delta(trip.start) %}
{% if delta %}