diff --git a/fitnesstrax/app/src/components/day.rs b/fitnesstrax/app/src/components/day.rs index 289f1a5..3068945 100644 --- a/fitnesstrax/app/src/components/day.rs +++ b/fitnesstrax/app/src/components/day.rs @@ -24,7 +24,7 @@ use crate::{ view_models::DayDetailViewModel, }; use emseries::{Record, RecordId}; -use ft_core::{TimeDistanceActivity, TraxRecord}; +use ft_core::{TimeDistanceActivity, TraxRecord, TIME_DISTANCE_ACTIVITIES}; use glib::Object; use gtk::{prelude::*, subclass::prelude::*}; use std::{cell::RefCell, rc::Rc}; @@ -105,12 +105,15 @@ impl DaySummary { row.append(&label); self.append(&row); - let biking_summary = view_model.time_distance_summary(TimeDistanceActivity::BikeRide); - if let Some(label) = time_distance_summary( - DistanceFormatter::from(biking_summary.0), - DurationFormatter::from(biking_summary.1), - ) { - self.append(&label); + for activity in TIME_DISTANCE_ACTIVITIES { + let summary = view_model.time_distance_summary(activity); + if let Some(label) = time_distance_summary( + activity, + DistanceFormatter::from(summary.0), + DurationFormatter::from(summary.1), + ) { + self.append(&label); + } } } } diff --git a/fitnesstrax/app/src/components/time_distance.rs b/fitnesstrax/app/src/components/time_distance.rs index b9698f3..5c74e06 100644 --- a/fitnesstrax/app/src/components/time_distance.rs +++ b/fitnesstrax/app/src/components/time_distance.rs @@ -25,17 +25,27 @@ use gtk::{prelude::*, subclass::prelude::*}; use std::{cell::RefCell, rc::Rc}; pub fn time_distance_summary( + activity: TimeDistanceActivity, distance: DistanceFormatter, duration: DurationFormatter, ) -> Option { let text = match (*distance > si::M, *duration > si::S) { (true, true) => Some(format!( - "{} of biking in {}", + "{} of {:?} in {}", distance.format(FormatOption::Full), + activity, duration.format(FormatOption::Full) )), - (true, false) => Some(format!("{} of biking", distance.format(FormatOption::Full))), - (false, true) => Some(format!("{} of biking", duration.format(FormatOption::Full))), + (true, false) => Some(format!( + "{} of {:?}", + distance.format(FormatOption::Full), + activity + )), + (false, true) => Some(format!( + "{} of {:?}", + duration.format(FormatOption::Full), + activity + )), (false, false) => None, };