Commit graph

598 commits

Author SHA1 Message Date
Edward Betts 220256dd91 Better space launch mail after space launch
Fixes #176.
2025-07-15 17:33:08 +02:00
Edward Betts 1806785700 Improve space launch change email format for better readability
Replace technical YAML diff output with human-readable bullet points that clearly explain what changed. Added structured email format with mission details, rocket emoji, and formatted dates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 17:06:12 +02:00
Edward Betts a68df381fe 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>
2025-07-15 16:57:19 +02:00
Edward Betts af49dac232 Add new country count display to trip statistics
Show the number of new countries visited each year in parentheses next to the total country count.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 16:32:59 +02:00
Edward Betts d65981ef7e Reorganize navbar with Trip and Conference dropdowns
- Move trip-related pages (Future trips, Past trips, Trip statistics) to a "Trips" dropdown
- Move conference-related pages (Conferences, Past conferences) to a "Conferences" dropdown
- Position both dropdowns between Calendar and Travel in the navbar
- Maintain active state highlighting for dropdown items and parent dropdowns

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 16:18:41 +02:00
Edward Betts 06a7d03404 Update trip statistics CO2 display with transport breakdown
- Change label from "Flight CO₂" to "Total CO₂" for accuracy
- Add CO₂ breakdown by transport type (flight/train/ferry)
- Show values in kg for <1000kg, tonnes for ≥1000kg
- Track CO₂ emissions by transport type in stats calculation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 16:04:07 +02:00
Edward Betts 5a15f48f50 Add CO2 emission calculations for train and ferry journeys
- Add CO2 calculation for train legs using 0.037 kg CO2e per passenger per km
- Add CO2 calculation for ferry journeys using 0.02254 kg CO2e per passenger per km
- Both calculations use standard emission factors from UK government sources (DEFRA/DECC)
- CO2 values are automatically included in trip totals via existing total_co2_kg() method

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 15:50:32 +02:00
Edward Betts 791759b322 Fix Schengen calculation bug
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 15:36:03 +02:00
Edward Betts 338d6ea067 Fix Schengen time tracking to use arrival date for long-haul flights
Use arrival date instead of departure date when entering Schengen countries
to correctly handle overnight flights that cross date boundaries.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 15:31:05 +02:00
Edward Betts 8363a581c7 Add trip linking and names to Schengen compliance report
- Add trip_date and trip_name fields to SchengenStay dataclass
- Implement extract_schengen_stays_with_trip_info() to associate stays with trips
- Update schengen_report.html to show trip names with clickable links
- Add Trip column to stays table and trip name column to compliance history
- Links navigate to individual trip pages using existing URL structure

Closes #197

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 15:06:09 +02:00
Edward Betts 1d37f92cfb Add margin to schengen report page 2025-07-15 13:54:20 +01:00
Edward Betts e95570a014 No need for title case in h1 2025-07-15 14:51:12 +02:00
Edward Betts fc31856f8c No need for title case 2025-07-15 14:48:18 +02:00
Edward Betts d2c4fa69ee Implement Schengen Area Compliance Report
How many close am I to 90 days in the last 180.

Fixes #193.
2025-07-15 14:43:37 +02:00
Edward Betts 084e5f44e3 Add conference count display to conference list sections
- Show count of conferences in each section (Current/Future/Past)
- Include proper pluralization (1 conference vs N conferences)
- Use Jinja2 template logic for count calculation and display

Fixes #195
2025-07-15 11:28:15 +02:00
Edward Betts 69f76746d5 Fix Geomob URLs with // in alert mails. 2025-06-26 09:04:44 +01:00
Edward Betts 59236d3ace TODO: debug why update gandi fails 2025-06-04 22:24:04 -05:00
Edward Betts 9bdf21ea5b No need to 'type: ignore' on deepdiff. 2025-05-26 10:08:05 -05:00
Edward Betts 63c7c54bfc Show CO₂ for flights on trip list. 2025-05-26 10:07:37 -05:00
Edward Betts a66565a785 Show CO₂ for flights on travel page. 2025-05-26 04:48:13 -05:00
Edward Betts f04aaf12a2 Bug fix 2025-05-26 09:53:43 +02:00
Edward Betts 9a5035d9fd Fix for flight number on trip page. 2025-05-12 13:45:26 +01:00
Edward Betts 503d39e6b8 Prefer ICAO flight number for some airlines 2025-04-28 12:13:23 +03:00
Edward Betts 8cd2335630 Add nowrap to conference list date fields 2025-04-18 14:48:22 +01:00
Edward Betts 9bc0f97976 Show flights without CO2 info. 2025-03-17 07:23:38 +00:00
Edward Betts ee1eaa1046 Handle FX rate timeouts. 2025-02-18 00:46:36 +00:00
Edward Betts c8eca13d68 Sweden has every Sunday as a holiday. 2025-02-12 08:52:18 -05:00
Edward Betts c9e7f4c61a Move holiday country codes to config. 2025-02-12 08:10:56 -05:00
Edward Betts 8c5b8400ca Bug fix 2025-02-11 19:21:06 +00:00
Edward Betts bc6fc33cda Code formatting 2025-02-09 14:48:01 +01:00
Edward Betts 938d8a5afe Reduce function complexity of in types.py 2025-02-09 14:47:30 +01:00
Edward Betts bab1d25dd4 Not flying to France 2025-02-09 13:46:56 +00:00
Edward Betts b2cef3933d Reduce complexity of agent.trip.get_locations(). 2025-02-09 13:33:11 +00:00
Edward Betts 6444229694 More validation 2025-01-30 13:34:57 +00:00
Edward Betts 24c3242189 Show CO₂ on stats page. 2025-01-30 13:34:36 +00:00
Edward Betts f6fba93a54 Add optional date parameter for weekend. 2025-01-27 08:38:55 +00:00
Edward Betts fd09faea38 Weekend page to conside hackathons. 2025-01-27 08:38:14 +00:00
Edward Betts 3a022e8736 country can be None in get_country 2025-01-24 20:31:20 +00:00
Edward Betts f5a8676336 Weekend page to show full year.
Highlight current week.
2025-01-24 20:49:16 +01:00
Edward Betts 2f574264e5 Show new badge next to new countries on travel stats page. 2025-01-24 20:19:25 +01:00
Edward Betts 340905ecff Less flags.
Only show flags for international trips to more than one country.
2025-01-24 20:01:41 +01:00
Edward Betts 010f56aabf Correct spelling mistakes 2025-01-24 18:44:05 +00:00
Edward Betts 7755bcf668 Bug fixes 2025-01-24 18:43:49 +00:00
Edward Betts c3be926ff7 Current trip summary on index page
Closes: #169
2025-01-11 15:29:07 -06:00
Edward Betts 5ee0dc9c8d Move code from trip list to macros 2025-01-11 15:20:00 -06:00
Edward Betts d7b636784d now.date() 2025-01-11 15:18:45 -06:00
Edward Betts 5d88485c48 Add offline mode support to fx.get_rates() 2025-01-11 15:15:46 -06:00
Edward Betts 19ef9c24ba Show space launch images 2025-01-11 15:05:17 -06:00
Edward Betts 77f0b17b37 Bug fix trip stats page 2024-12-12 20:47:21 +00:00
Edward Betts f6d715e52a Check flight bookings are in chronological order. 2024-12-08 14:12:36 +00:00