equipment data

This commit is contained in:
Allan Cueff
2022-12-30 22:41:43 +01:00
parent 4ab33644f4
commit db13960cc9
2 changed files with 34 additions and 3 deletions

View File

@@ -19,6 +19,27 @@ function getBestEquipment(sportType, storedAs = 'equipments'){
return best;
}
function getTotals(){
return JSON.parse(localStorage.getItem('totals'));
}
function getActivity(id, storedAs='activities'){
return JSON.parse(localStorage.getItem(storedAs)).find(act => act.id === id);
}
function parseSeconds(seconds){
const hours = (seconds/60/60).toFixed(0);
seconds -= hours*60*60;
const minutes = (seconds/60).toFixed(0);
seconds -= minutes*60;
if(hours > 0){
return hours + ':' + minutes + ':' + seconds;
} else {
return minutes + ':' + seconds;
}
}
const totals = getTotals();
const bestRideEquipment = getBestEquipment('ride');
if(bestRideEquipment !== null){
const bestBike = JSON.parse(localStorage.getItem(bestRideEquipment.id));
@@ -35,4 +56,10 @@ if(bestRunEquipment !== null){
document.querySelector('#cap .modele').innerHTML = bestShoes.brand_name + ' ' + bestShoes.model_name;
document.querySelector('#cap .nb-km').innerHTML = (bestShoes.year_distance/1000).toFixed(0);
document.querySelector('#cap .heures').innerHTML = `Vous avez passé ${bestShoes.year_hours.toFixed(0)}h en compagnie de ${bestShoes.nickname}`;
}
}
if(totals.heartrate.count > 0){
document.querySelector('#fc .nombre-sm').innerHTML = (totals.heartrate.total / totals.heartrate.count).toFixed(1);
const maxHeartrateActivity = getActivity(totals.heartrate.maxId);
document.querySelector('#max #sortie-max p:nth-child(1)').innerHTML = maxHeartrateActivity.name;
document.querySelector('#max #sortie-max p:nth-child(2)').innerHTML = `${new Date(maxHeartrateActivity.start_date).toLocaleDateString(undefined, { month: 'short', day: 'numeric' })} | ${(maxHeartrateActivity.distance/1000).toFixed(2)}km | ${parseSeconds(maxHeartrateActivity.moving_time)}`;
}

View File

@@ -241,7 +241,8 @@ function getTotals(storedAs = 'activities', storeAs = 'totals'){
heartrate : {
total : 0,
count : 0,
max : 0
max : 0,
maxId : undefined
},
ride : {
climb : 0,
@@ -286,7 +287,10 @@ function getTotals(storedAs = 'activities', storeAs = 'totals'){
if("average_heartrate" in activity){
totals.heartrate.count += 1;
totals.heartrate.total += activity.average_heartrate;
totals.heartrate.max = Math.max(totals.heartrate.max, activity.average_heartrate);
if(activity.average_heartrate > totals.heartrate.max){
totals.heartrate.max = activity.average_heartrate;
totals.heartrate.maxId = activity.id;
}
}
switch(activity.type){
case 'Ride' :