This commit is contained in:
Chloé Leroux
2022-12-30 22:44:28 +01:00
12 changed files with 54 additions and 25 deletions

View File

@@ -137,7 +137,7 @@
</a>
</div>
<div class="pagination">
<p>2/8</p>
<p>2/9</p>
</div>
<div class="fleche fleche-droite">
<a href="hours.html">

View File

@@ -80,15 +80,15 @@
<footer>
<div class="fleche fleche-gauche">
<a href="fastest.html">
<a href="pictures.html">
<img src="./images/fleche-gauche.svg" alt="Flèche vers la gauche">
</a>
</div>
<div class="pagination">
<p>6/8</p>
<p>8/9</p>
</div>
<div class="fleche fleche-droite">
<a href="pictures.html">
<a href="recap.html">
<img src="./images/fleche-droite.svg" alt="Flèche vers la droite">
</a>
</div>

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

@@ -105,7 +105,7 @@
</a>
</div>
<div class="pagination">
<p>5/8</p>
<p>5/9</p>
</div>
<div class="fleche fleche-droite">
<a href="performances.html">

View File

@@ -76,7 +76,7 @@
</a>
</div>
<div class="pagination">
<p>3/8</p>
<p>3/9</p>
</div>
<div class="fleche fleche-droite">
<a href="totals.html">

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' :

View File

@@ -33,7 +33,7 @@
</a>
</div>
<div class="pagination">
<p>1/8</p>
<p>1/9</p>
</div>
<div class="fleche fleche-droite">
<a href="days.html">

View File

@@ -35,12 +35,12 @@
<section id="kudos">
<div>
<h2>Reçus</h2>
<p class="nombre-md nb-kudos">54.879</p>
<p class="nombre-md nb-kudos">0</p>
</div>
<div id="most-kudoed">
<h2>Maximum</h2>
<p class="nombre-md nb-kudos">40</p>
<p class="texte-kudos">Nom sortie imagine c'est super long un truc de ouf</p>
<p class="nombre-md nb-kudos">0</p>
<p class="texte-kudos">no data</p>
</div>
</section>
@@ -51,7 +51,7 @@
<section id="everest">
<p>Pour rappel, l'Everest fait 8.848m de haut.</p>
<div>
<p class="nombre-md">6,7</p>
<p class="nombre-md">0</p>
</div>
</section>
@@ -65,7 +65,7 @@
</a>
</div>
<div class="pagination">
<p>6/8</p>
<p>6/9</p>
</div>
<div class="fleche fleche-droite">
<a href="pictures.html">

View File

@@ -31,8 +31,6 @@ const totals = getTotals()
numberAnimation('.record .medaille .nombre-sm', getPRNumber());
document.querySelector("#kudos .nombre-md").innerHTML = totals.total.kudos;
const mostKudoed = JSON.parse(localStorage.getItem('activities')).find(a => a.id === parseInt(localStorage.getItem('most-kudoed'), 10));
document.querySelector("#kudos #most-kudoed .nombre-md").innerHTML = mostKudoed.kudos_count;
document.querySelector("#kudos #most-kudoed .texte-kudos").innerHTML = mostKudoed.name;
if(totals.heartrate.count > 0){
document.querySelector("#fc .nombre-sm").innerHTML = (totals.heartrate.total / totals.heartrate.count).toFixed(1);
}
document.querySelector('#kudos #most-kudoed .nombre-md').innerHTML = mostKudoed.kudos_count;
document.querySelector('#kudos #most-kudoed .texte-kudos').innerHTML = mostKudoed.name;
document.querySelector('#everest .nombre-md').innerHTML = (totals.total.climb/8848).toFixed(1);

View File

@@ -80,10 +80,10 @@
</a>
</div>
<div class="pagination">
<p>7/8</p>
<p>7/9</p>
</div>
<div class="fleche fleche-droite">
<a href="recap.html">
<a href="equipment.html">
<img src="./images/fleche-droite.svg" alt="Flèche vers la droite">
</a>
</div>

View File

@@ -66,12 +66,12 @@
<footer>
<div class="fleche fleche-gauche">
<a href="pictures.html">
<a href="equipment.html">
<img src="./images/fleche-gauche.svg" alt="Flèche vers la gauche">
</a>
</div>
<div class="pagination">
<p>8/8</p>
<p>9/9</p>
</div>
<div class="fleche fleche-droite">
<a href="landing.html">

View File

@@ -66,7 +66,7 @@
</a>
</div>
<div class="pagination">
<p>4/8</p>
<p>4/9</p>
</div>
<div class="fleche fleche-droite">
<a href="fastest.html">