1-
21use tui:: {
32 layout:: Constraint ,
43 style:: { Color , Modifier , Style } ,
54 text:: Span ,
65 widgets:: { Cell , Row , Table } ,
76} ;
87
9-
10- use crate :: {
11- app:: App ,
12- store:: activity:: { Activities } ,
13- } ;
14-
15-
8+ use crate :: { app:: App , store:: activity:: Activities } ;
169
1710pub fn activity_list_table < ' a > ( app : & App , activities : & ' a Activities ) -> Table < ' a > {
1811 let mut rows = vec ! [ ] ;
12+ let time_header = match app. activity_list . use_moving_time {
13+ true => "🕑 Moving" ,
14+ false => "🕑 Elapsed" ,
15+ } ;
1916 let header_names = [
2017 "Date" ,
2118 "" ,
2219 "Title" ,
2320 "Dst" ,
24- "🕑 Time" ,
21+ time_header ,
2522 "👣 Pace" ,
2623 " Speed" ,
2724 "💓 Avg. Heart" ,
@@ -41,13 +38,21 @@ pub fn activity_list_table<'a>(app: &App, activities: &'a Activities) -> Table<'
4138 Cell :: from ( activity. activity_type_icon ( ) ) ,
4239 Cell :: from ( activity. title . clone ( ) ) ,
4340 Cell :: from ( app. unit_formatter . distance ( activity. distance ) ) ,
44- Cell :: from ( app. unit_formatter . stopwatch_time ( activity. elapsed_time ) ) ,
45- Cell :: from (
46- app. unit_formatter . pace ( activity. moving_time , activity. distance ) ,
47- ) ,
48- Cell :: from (
49- app. unit_formatter . speed ( activity. meters_per_hour ( ) ) ,
50- ) ,
41+ Cell :: from ( app. unit_formatter . stopwatch_time (
42+ match app. activity_list . use_moving_time {
43+ true => activity. moving_time ,
44+ false => activity. elapsed_time ,
45+ } ,
46+ ) ) ,
47+ Cell :: from ( match app. activity_list . use_moving_time {
48+ true => app
49+ . unit_formatter
50+ . pace ( activity. moving_time , activity. distance ) ,
51+ false => app
52+ . unit_formatter
53+ . pace ( activity. elapsed_time , activity. distance ) ,
54+ } ) ,
55+ Cell :: from ( app. unit_formatter . speed ( activity. meters_per_hour ( ) ) ) ,
5156 Cell :: from (
5257 activity
5358 . average_heartrate
@@ -58,7 +63,9 @@ pub fn activity_list_table<'a>(app: &App, activities: &'a Activities) -> Table<'
5863 ] ) ) ;
5964 }
6065
61- Table :: new ( rows, & [
66+ Table :: new (
67+ rows,
68+ & [
6269 Constraint :: Length ( 10 ) ,
6370 Constraint :: Length ( 2 ) ,
6471 Constraint :: Percentage ( 20 ) ,
@@ -69,13 +76,14 @@ pub fn activity_list_table<'a>(app: &App, activities: &'a Activities) -> Table<'
6976 Constraint :: Min ( 8 ) ,
7077 Constraint :: Min ( 8 ) ,
7178 Constraint :: Min ( 8 ) ,
72- ] )
73- . header (
74- Row :: new ( headers)
75- . height ( 1 )
76- . bottom_margin ( 1 )
77- . style ( Style :: default ( ) ) ,
78- )
79- . highlight_style ( Style :: default ( ) . add_modifier ( Modifier :: BOLD ) )
80- . highlight_symbol ( "" )
79+ ] ,
80+ )
81+ . header (
82+ Row :: new ( headers)
83+ . height ( 1 )
84+ . bottom_margin ( 1 )
85+ . style ( Style :: default ( ) ) ,
86+ )
87+ . highlight_style ( Style :: default ( ) . add_modifier ( Modifier :: BOLD ) )
88+ . highlight_symbol ( "" )
8189}
0 commit comments