From dbe59e22efcd528f1d3efef16c88b50dd5aba43d Mon Sep 17 00:00:00 2001
From: antoine
Date: Fri, 20 Aug 2021 07:33:55 +0200
Subject: [PATCH 1/2] Add new sports with temporary pictures
---
fittrackee/database_utils.py | 20 ++++++++++++++++++
.../public/img/sports/alpine-skiing.png | Bin 0 -> 4406 bytes
.../img/sports/cross-country-skiing.png | Bin 0 -> 4406 bytes
.../img/sports/electric-mountain-biking.png | Bin 0 -> 4406 bytes
fittrackee_client/public/img/sports/trail.png | Bin 0 -> 3104 bytes
5 files changed, 20 insertions(+)
create mode 100644 fittrackee_client/public/img/sports/alpine-skiing.png
create mode 100644 fittrackee_client/public/img/sports/cross-country-skiing.png
create mode 100644 fittrackee_client/public/img/sports/electric-mountain-biking.png
create mode 100644 fittrackee_client/public/img/sports/trail.png
diff --git a/fittrackee/database_utils.py b/fittrackee/database_utils.py
index 6cda50662..7570a26bf 100644
--- a/fittrackee/database_utils.py
+++ b/fittrackee/database_utils.py
@@ -33,14 +33,34 @@ def init_database(app: Flask) -> None:
sport.img = '/img/sports/mountain-biking.png'
sport.is_default = True
db.session.add(sport)
+ sport = Sport(label='Mountain Biking (Electric)')
+ sport.img = '/img/sports/electric-mountain-biking.png'
+ sport.is_default = True
+ db.session.add(sport)
sport = Sport(label='Running')
sport.img = '/img/sports/running.png'
sport.is_default = True
db.session.add(sport)
+ sport = Sport(label='Trail')
+ sport.img = '/img/sports/trail.png'
+ sport.is_default = True
+ db.session.add(sport)
sport = Sport(label='Walking')
sport.img = '/img/sports/walking.png'
sport.is_default = True
db.session.add(sport)
+ sport = Sport(label='Skiing (Alpine)')
+ sport.img = '/img/sports/alpine-skiing.png'
+ sport.is_default = True
+ db.session.add(sport)
+ sport = Sport(label='Skiing (Cross Country)')
+ sport.img = '/img/sports/cross-country-skiing.png'
+ sport.is_default = True
+ db.session.add(sport)
+ sport = Sport(label='Rowing')
+ sport.img = '/img/sports/rowing.png'
+ sport.is_default = True
+ db.session.add(sport)
db.session.commit()
_, db_app_config = init_config()
update_app_config_from_database(app, db_app_config)
diff --git a/fittrackee_client/public/img/sports/alpine-skiing.png b/fittrackee_client/public/img/sports/alpine-skiing.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b26acfc13e66f22270edd0a270966e76b5fbabd
GIT binary patch
literal 4406
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
literal 0
HcmV?d00001
diff --git a/fittrackee_client/public/img/sports/cross-country-skiing.png b/fittrackee_client/public/img/sports/cross-country-skiing.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b26acfc13e66f22270edd0a270966e76b5fbabd
GIT binary patch
literal 4406
zcmZ{oc{J2t_{TqkF?JJ%ERm#|kg;aVzJ(}5h%Cv@j5TA48BNKaENPJtvTvD$nn5V*
z*vCG0ku5vnH{aiXzdwHWoaesJJ@@sT=bYz0_ug}F%xzNxb`}8^007u;8tR(U6#Jhs
zG1B^Gb*B!RFt};m(gJ|WB-VdUVA}Y+v!VGd00_NA`76J}pSn*dt0;r|SzedR3%0HEAAb+s%oqpO)AfkG{>
zNs)sB%#u&o&z?a!GX?+ABz06Np0BaC##CUntX&{Yl^GL`O;wM6`JGP^9rxrnR1%rv
z7mgllTL7A>K*i!OqeVG8>3OZS6@_g6Xg)wxRkEwp?IsC_1SRAb6cmK%_Y?QFqw9)`
zh-HWQb&2aoEL>b%SNYB?Hm|%TMrx)l-LMpMrR(qYhHmg`6Yp&uSaE7>b>4Sqxv%A%
zN#P;A>z5TNm2zy8%=sq4a610Iq(T2tg7-#f@Fd%tDLo=Att3tNqcgxR&DbUJnW;pLc_hXHRD?g-!`f(2
zhK9N2(M?w@^bRWaPQ1Fpkon!?;J<=ok5c0CSlSojxxA7z?KuftN~jkf&U!^7y0+Rm
zWUT*AhYehJlpbg}e&jaQXdrT0`>2r7PiQ1auGV>MqyGvbFD
z)sSk4^Hn$$Pry_bS(R9STPA4yZ%z$)sHv>HiR-J}1-Y+9p$@@MPe_^#wYFxfMV7^V
z6Mk0O;>bWSV)0WPd7LHO2S2t_104>Q^m+^>`&sFWn_Gb0Ur5D)4_!rWs``HIv~fC?
zSz{@bkIe@z_n?%=6}I2*XL>LZSV|)?P1&jwuT2XkY9;c`ue_nlsB!@>ZP7nG&TOsy
z-27eYbDl#$choQKxB!J2cl`b=hv1iqmlVNJ9zBq$`#n3W%;ozK3y5TnE$LR)`gl;s
zC`5RP`D(PX?PFG*E96^j@BcmuS1^6I)6_TA)q*+o&$+^?HCXumD+4+lE5JT%Hm+tmrIv72l2`bCEG_B`gw{cPC|o-aIOCY}BT
zWpWk}JJUBZLbi%7qek=iv-xr+#-Cljw|@I$u(X8sI!M4(`tZ_o^fT*+X;|LbVkxw|
zVlnr#$#;G?JGv99TpE9LaZl+i82}D<4H!!}k0v^j$zg!gQe5oCmBxD;;kkC0saLb{
z>%%CQMf>b>uCeWTflCWEL(Z!mr7*ph)g??pP)uh-$RPK1Gdsut%x29Dd;ixk$zr33
zJoD^P{mv`B^m1>e8c4=Q3%;M3vQNkBkpcRbn>6RJm7Fh<06m41j2hyfaW9|Mbl=Rx
z+FT!ukU2rM5xTjwjj83L&-)V=oQ4Pc-?@|)Tu#uC&3;U`JRdc|9>2rz<|GDku0Ck;
zLlu70Sw4X7dEe8aJu9bwb6@96e`!iXXegdH0NS{4Qr6gqI}IK+Rs;eB7q8mZk8}P>
zu?0>(-e3Du2Ge-#R0vz9OM(ybG)S$`%SNVbMyLs5&Ez82fgV*tjd-UU-&=AhfFv}q
z94-MiQ-0nO#YB=vK>0iJ#FyMW@T-K2<=A0pPAU5FYHW9RAR4otn-46~SA&S_gY*py
zC5-9HgdGj1Ur0&qJJ^)PYj2k8)Zwdg>ZSPk7E74I`|&Nb?SOs*t=bmXAGq{oc0{
zpP&rb1EU}zGGnJ?#V2(VBP!5)WzVVo?4|50noqoKE|5=o&wG`Rbwp$qmn0p#ekwOB
zX!@78=WJAS*;m5X$$IByBls?0rA&aeQWY&&B6<%G1KTNH9R_pP6;>AEZG?X&N3pT+
z!4^^`34cM|^#=J5We7bRF@@t%W0&7OoRN=GP?2NkN)4kUtkbQf*b@dlfq1aYdKC?bw
z*AJahZ7d@zoH&CR!Y0H&4?dW4cIvSz7>-?AO<`c&$Bq@eV*JI&m~XKK;ve3U8-HN5
zvzp;@#RP;O!lg%m8~VQHNb$OvA&Z=G;(lsj7=?;~R8P-$+6;HGj9-@w*+Xns0Cz1(
zVg#}%6Pw2HrzTcYVPjSa%%mouuy}>Fs|h=z!Ke*_FR`y$LZRpXUieNtjyl{s>9*IhIV?Q{q71JalOzOiIi(;&?t378Wk|4}e5K
zVfq$Y6HNAPuwdm5TM>41EZkCRL%qU4S9Y;En&gz|^Z2!dlWW(EmYQmt4@n`>2fUlb
zw#`g&H&Mnf35a}P>%!j9J71#R^pE9F*W)hF?mIa`UqJR7F8z2
zV2)Lv7CwvA%dR=G&$T#(p7(l@w|r&OIWJri;eub80!Mfnr3HsEngh*_i|#9~2m#dP
zq@GvsL3zh1C70dCn0$+)MMJsKvN>^**lX~$DF$<(7g=*@rk%fin!QWvKvFZ4tGXcq
zI;R+Yq@Q>cfP>{*d|#ENgKM^;HS7&cr;F6gUp=7%gi>ZBu7Lq1zWuN8G-+ZqX$25C
ze!?W-dX`S6Iy+?APd$aN?u!V_rXGVV5}?|ucPP_i`cggZ%J4YYhh~&5oV=%RuSXBP
zu&08D4`Ld6{gn~-E)Mqp>N%a}p}y{%vAWB0j|KH*tPJ|*K-1(*!w<;-g31+xocpuM
zQqbJ5Ee>2C8d9)sw+gGSnl|nNv@HZ%0#<)*kkvyY+f(V3JEgB+C
zSt@)!#^qZqas>_#vQ|x?j1*=%rR0mL-7Z63Brl!v;o$=0fX~PcOXq>FD2GgP4hQAF
zV2-K#7gMoi`2psh?2jB7y28C340hv~>6w*Lk+1Xpk~be@RxSKOfDw74kRDVvG_kQ7
zQx~|D@E`<&zU)lg^IPcQoEgY34qlzit~1^K?S8VxmxkLiYsY1gk!7_@J%n*vtWB
zkq*{@zCQZ)u6VwMnF?X&2PrNY61$B%*(p+0U%`~@>{&*M$Q%Zr0kT{E9me&ITu45Z
ze*YAuT=7_%lQm(!9Gq0iYm_0k12rAN
z&&;o?1M;}vfHCzC#n@G*AiJzzW#bwx94(Wx{LMf`t#dkZc(op8ssY
zP&trAS#GwKMg{$4YF5Se9V@i5@rj8vH^_ZO0;1BI+nS)rrZu
zHn+&xHtQuD14Nd;Y7f{0w3@&1v|ntvU*fbIrfoIFKKGep=y{x=w4Is<-Zq$Ce7#!a
zOo~aNXEbfY+0IvGJXMA6Te?aFtFG>LWl_Hd&OZ>k@y&|u+Y;sO_4mhiT=ApML@gFa
zqadZHXf=FGAhk7{@BX;>KE-JOK`eyd=mhak&$($
zeKl~@cv5S25n5Qsu3(#=6xdu@Do$$lBib<|K0z|Tc>Wm$Hgn8a#uKtS-?Mo2M1lF;
zd7j9Tnt_qX4|I0iU*v6+T2hzeaeOM?DNhCDF&Djletm+V=68J>yo=t}yj)t@y9TDNY5H_ZQp981jf4
z!#&B+-ChE5A3k1L8jWrK)G*j|%!VxDnM_B)tHpdr$#JUQ|CVL(weK6f=vNfpElQ%h
zycB0CLn>{AHz00wbupKz%osAmyoPY7lLe}ew8PYz1vtsgmczyMQD&uiF
zHgRXsAc$D}op!94Ip(eOeA6{QRs7L)v+$NL
z;DacPZL^hmUFDNlQ;TaiO
zQ||IMspp)3!nxcy9v`y57x(Skw^=IBfTg}yAZt$g(`rJ4S+300ip~mY-zfUP=>y%k
z;qSV*sT2vV1wJBxhLqbyX}5GgTBpW~8QOgZax3{MW0j>^ysG^4$;~*ijiKotu_UrA
zGqBBOfqlH`%8<9aa==QC;k%J5*wb^$)ZRQr9Qe)8BXWM0^=yr*wRZS6+wsCwyolEr
zUZ%N%N%VEaL+M$c@Qd+2&vpPMLJdccrRw5u7_&>#S-;Um%FsGizhSnQyA_ek7$cjf
z!nDu%QenH&X#LaH!rqi!wO{)Hf6{Cwd$`4T-z9wF+n!2^%b-1(P{S?!-<;vS_K_oW
z*?}(&;sj0;+_dDBQNOuaS|d3TJjfz3oGW#GLpyPm=W_|3vcx(sbkzC%=nTe8B4>
zHP-k{&Su_$oe${lJi&}r*lr44BqRp@tb`97x;zi4c861{QgsHkOTgwd(VUG94qb~l?A<~&7*uKDH40%2@{kFpT$MU2@FC4Q}
zz)@OU51i^PeZ_yY+&YVk02_AJUrmhwKcBH9;kho#41DrEgq`=@F2z?Zq(p$N1;1Qm
zuB;$9fJO~DkR|eVRKis(E#X_esfBWivOvr(01A{9R?OXqc@qVnmtHaU_F??T#y
z1+iARuybRfaFi46H9oU&3Uql`{2_BI@Y4Pa!~^xL10OmCx~Mq&yU+xXMaU>gArz!!
z6fI<~s~{9rfJD0n20Qt?0Kvh*
h*E~>O0nSdoF4xfhZg1Dr1ZWU&Q_oblOxrQ)e*g`bG&cYM
literal 0
HcmV?d00001
diff --git a/fittrackee_client/public/img/sports/electric-mountain-biking.png b/fittrackee_client/public/img/sports/electric-mountain-biking.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b26acfc13e66f22270edd0a270966e76b5fbabd
GIT binary patch
literal 4406
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
literal 0
HcmV?d00001
diff --git a/fittrackee_client/public/img/sports/trail.png b/fittrackee_client/public/img/sports/trail.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe4a2814f150dfd95d4d5f96b48026ebba2b4730
GIT binary patch
literal 3104
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
literal 0
HcmV?d00001
From 43fe9bde761e3fe5e176713a0e818442600d1671 Mon Sep 17 00:00:00 2001
From: antoine
Date: Fri, 20 Aug 2021 07:35:50 +0200
Subject: [PATCH 2/2] Add elevation in stats and dashboard and update
translations
---
fittrackee/workouts/stats.py | 21 +++++++++++++++++--
.../components/Common/Stats/StatsChart.jsx | 18 ++++++++++++++++
.../src/components/Dashboard/WorkoutCard.jsx | 18 ++++++++++++++++
.../src/components/Workouts/WorkoutsList.jsx | 14 +++++++++++++
fittrackee_client/src/locales/en/sports.json | 7 ++++++-
.../src/locales/en/statistics.json | 2 ++
fittrackee_client/src/locales/fr/sports.json | 7 ++++++-
.../src/locales/fr/statistics.json | 2 ++
.../src/locales/fr/workouts.json | 4 ++--
fittrackee_client/src/utils/stats.js | 14 +++++++++++++
fittrackee_client/src/utils/workouts.js | 18 +++++++++-------
11 files changed, 112 insertions(+), 13 deletions(-)
diff --git a/fittrackee/workouts/stats.py b/fittrackee/workouts/stats.py
index 80de9480b..de9a97a51 100644
--- a/fittrackee/workouts/stats.py
+++ b/fittrackee/workouts/stats.py
@@ -67,6 +67,8 @@ def get_workouts(
'nb_workouts': 0,
'total_distance': 0.0,
'total_duration': 0,
+ 'total_ascent': 0.0,
+ 'total_descent': 0.0,
}
workouts_list_by_sport[sport_id]['nb_workouts'] += 1
workouts_list_by_sport[sport_id]['total_distance'] += float(
@@ -75,6 +77,12 @@ def get_workouts(
workouts_list_by_sport[sport_id][
'total_duration'
] += convert_timedelta_to_integer(workout.moving)
+ workouts_list_by_sport[sport_id]['total_ascent'] += float(
+ workout.ascent
+ )
+ workouts_list_by_sport[sport_id]['total_descent'] += float(
+ workout.descent
+ )
# filter_type == 'by_time'
else:
@@ -110,6 +118,8 @@ def get_workouts(
'nb_workouts': 0,
'total_distance': 0.0,
'total_duration': 0,
+ 'total_ascent': 0.0,
+ 'total_descent': 0.0,
}
workouts_list_by_time[time_period][sport_id][
'nb_workouts'
@@ -119,8 +129,15 @@ def get_workouts(
] += float(workout.distance)
workouts_list_by_time[time_period][sport_id][
'total_duration'
- ] += convert_timedelta_to_integer(workout.moving)
-
+ ] += convert_timedelta_to_integer(workout.moving)
+ if workout.ascent:
+ workouts_list_by_time[time_period][sport_id][
+ 'total_ascent'
+ ] += float(workout.ascent / 1000)
+ if workout.descent:
+ workouts_list_by_time[time_period][sport_id][
+ 'total_descent'
+ ] += float(workout.descent / 1000)
return {
'status': 'success',
'data': {
diff --git a/fittrackee_client/src/components/Common/Stats/StatsChart.jsx b/fittrackee_client/src/components/Common/Stats/StatsChart.jsx
index ca3678f16..1862b0d5f 100644
--- a/fittrackee_client/src/components/Common/Stats/StatsChart.jsx
+++ b/fittrackee_client/src/components/Common/Stats/StatsChart.jsx
@@ -53,6 +53,24 @@ export default class StatsCharts extends React.PureComponent {
/>
{t('statistics:duration')}
+
+
+ {workout.min_alt && workout.max_alt && (
+
+
+ {t('workouts:Min. altitude')}: {workout.min_alt}m
+
+ {t('workouts:Max. altitude')}: {workout.max_alt}m
+
+
+ )}
+ {workout.ascent && workout.descent && (
+
+
+ {t('workouts:Ascent')}: {workout.ascent}m
+
+ {t('workouts:Descent')}: {workout.descent}m
+
+ )}
diff --git a/fittrackee_client/src/components/Workouts/WorkoutsList.jsx b/fittrackee_client/src/components/Workouts/WorkoutsList.jsx
index 771fb68f5..745a1a479 100644
--- a/fittrackee_client/src/components/Workouts/WorkoutsList.jsx
+++ b/fittrackee_client/src/components/Workouts/WorkoutsList.jsx
@@ -21,6 +21,8 @@ export default class WorkoutsList extends React.PureComponent {
{t('workouts:Duration')} |
{t('workouts:Ave. speed')} |
{t('workouts:Max. speed')} |
+ {t('workouts:Ascent')} |
+ {t('workouts:Descent')} |
@@ -85,6 +87,18 @@ export default class WorkoutsList extends React.PureComponent {
{workout.max_speed} km/h
+
+
+ {t('workouts:Ascent')}
+
+ {workout.ascent} m
+ |
+
+
+ {t('workouts:Descent')}
+
+ {workout.descent} m
+ |
))}
diff --git a/fittrackee_client/src/locales/en/sports.json b/fittrackee_client/src/locales/en/sports.json
index b8e9bb783..59eb4974d 100644
--- a/fittrackee_client/src/locales/en/sports.json
+++ b/fittrackee_client/src/locales/en/sports.json
@@ -3,6 +3,11 @@
"Cycling (Transport)": "Cycling (Transport)",
"Hiking": "Hiking",
"Mountain Biking": "Mountain Biking",
+ "Mountain Biking (Electric)": "Mountain Biking (Electric)",
"Running": "Running",
- "Walking": "Walking"
+ "Walking": "Walking",
+ "Trail" : "Trail",
+ "Skiing (Alpine)" : "Skiing (Alpine)",
+ "Skiing (Cross Country)" : "Skiing (Cross Country)",
+ "Rowing" : "Rowing"
}
diff --git a/fittrackee_client/src/locales/en/statistics.json b/fittrackee_client/src/locales/en/statistics.json
index 04bb70111..1ef9b4202 100644
--- a/fittrackee_client/src/locales/en/statistics.json
+++ b/fittrackee_client/src/locales/en/statistics.json
@@ -2,6 +2,8 @@
"workouts": "workouts",
"distance": "distance",
"duration": "duration",
+ "ascent": "ascent",
+ "descent": "descent",
"month": "month",
"Statistics": "Statistics",
"year": "year",
diff --git a/fittrackee_client/src/locales/fr/sports.json b/fittrackee_client/src/locales/fr/sports.json
index 3cc6591a3..e2d7828c8 100644
--- a/fittrackee_client/src/locales/fr/sports.json
+++ b/fittrackee_client/src/locales/fr/sports.json
@@ -3,6 +3,11 @@
"Cycling (Transport)": "Vélo (Transport)",
"Hiking": "Randonnée",
"Mountain Biking": "VTT",
+ "Mountain Biking (Electric)": "VTT (Electrique)",
"Running": "Course",
- "Walking": "Marche"
+ "Walking": "Marche",
+ "Trail" : "Trail",
+ "Skiing (Alpine)" : "Ski (Alpin)",
+ "Skiing (Cross Country)" : "Ski (Randonnée)",
+ "Rowing" : "Aviron"
}
diff --git a/fittrackee_client/src/locales/fr/statistics.json b/fittrackee_client/src/locales/fr/statistics.json
index 28178e120..7a90dfc04 100644
--- a/fittrackee_client/src/locales/fr/statistics.json
+++ b/fittrackee_client/src/locales/fr/statistics.json
@@ -2,6 +2,8 @@
"workouts": "séances",
"distance": "distance",
"duration": "durée",
+ "ascent": "dénivelé+",
+ "descent": "dénivelé-",
"month": "mois",
"Statistics": "Statistiques",
"year": "année",
diff --git a/fittrackee_client/src/locales/fr/workouts.json b/fittrackee_client/src/locales/fr/workouts.json
index 782a4073a..ae510bb95 100644
--- a/fittrackee_client/src/locales/fr/workouts.json
+++ b/fittrackee_client/src/locales/fr/workouts.json
@@ -5,13 +5,13 @@
"Add a workout": "Ajouter une séance",
"Are you sure you want to delete this workout?": "Etes-vous sûr de vouloir supprimer cette séance ?",
"Ave. speed": "Vitesse moyenne",
- "Ascent": "Dénivelé positif",
+ "Ascent": "Dénivelé +",
"Average speed": "Vitesse moyenne",
"Chart": "Analyse",
"data from gpx, without any cleaning": "données issues du fichier gpx, sans correction",
"Date": "Date",
"Delete workout": "Supprimer l'séance",
- "Descent": "Dénivelé négatif",
+ "Descent": "Dénivelé -",
"Distance": "Distance",
"distance": "distance",
"Duration": "Durée",
diff --git a/fittrackee_client/src/utils/stats.js b/fittrackee_client/src/utils/stats.js
index 57fd83a81..441fd5ea3 100644
--- a/fittrackee_client/src/utils/stats.js
+++ b/fittrackee_client/src/utils/stats.js
@@ -39,6 +39,10 @@ export const formatValue = (displayedData, value) =>
? `${value.toFixed(2)} km`
: displayedData === 'duration'
? formatDuration(value)
+ : displayedData === 'ascent'
+ ? `${value.toFixed(2)} km`
+ : displayedData === 'descent'
+ ? `${value.toFixed(2)} km`
: value
const dateIncrement = (duration, day) => {
@@ -69,6 +73,8 @@ export const formatStats = (stats, sports, params, displayedSports, weekm) => {
const nbWorkoutsStats = []
const distanceStats = []
const durationStats = []
+ const ascentStats = []
+ const descentStats = []
for (
let day = startDate(params.duration, params.start, weekm);
@@ -83,6 +89,8 @@ export const formatStats = (stats, sports, params, displayedSports, weekm) => {
const dataNbWorkouts = { date: xAxis }
const dataDistance = { date: xAxis }
const dataDuration = { date: xAxis }
+ const dataAscent = { date: xAxis }
+ const dataDescent = { date: xAxis }
if (stats[date]) {
Object.keys(stats[date])
@@ -94,17 +102,23 @@ export const formatStats = (stats, sports, params, displayedSports, weekm) => {
dataNbWorkouts[sportLabel] = stats[date][sportId].nb_workouts
dataDistance[sportLabel] = stats[date][sportId].total_distance
dataDuration[sportLabel] = stats[date][sportId].total_duration
+ dataAscent[sportLabel] = stats[date][sportId].total_ascent
+ dataDescent[sportLabel] = stats[date][sportId].total_descent
return null
})
}
nbWorkoutsStats.push(dataNbWorkouts)
distanceStats.push(dataDistance)
durationStats.push(dataDuration)
+ ascentStats.push(dataAscent)
+ descentStats.push(dataDescent)
}
return {
workouts: nbWorkoutsStats,
distance: distanceStats,
duration: durationStats,
+ ascent: ascentStats,
+ descent: descentStats,
}
}
diff --git a/fittrackee_client/src/utils/workouts.js b/fittrackee_client/src/utils/workouts.js
index f9a977bf1..9bbdc5516 100644
--- a/fittrackee_client/src/utils/workouts.js
+++ b/fittrackee_client/src/utils/workouts.js
@@ -4,13 +4,17 @@ import togeojson from '@mapbox/togeojson'
import { getDateWithTZ } from './index'
export const workoutColors = [
- '#55a8a3',
- '#98C3A9',
- '#D0838A',
- '#ECC77E',
- '#926692',
- '#929292',
- '#428bca',
+ '#F94144',
+ '#F3722C',
+ '#F8961E',
+ '#F9844A',
+ '#F9C74F',
+ '#90BE6D',
+ '#43AA8B',
+ '#4D908E',
+ '#577590',
+ '#277DA1',
+ '#272DA1',
]
export const recordsLabels = [