From 507bfea2019dd7b80c1147361ba217aea62ceb05 Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Sun, 22 Nov 2020 21:33:48 +0200 Subject: [PATCH] Calculate equivalent speed for getting the same XP --- src/components/WorkoutStats.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/WorkoutStats.tsx b/src/components/WorkoutStats.tsx index 0aae946..a44a5b2 100644 --- a/src/components/WorkoutStats.tsx +++ b/src/components/WorkoutStats.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { stats, Workout, Intensity } from "zwiftout"; +import { stats, Workout, Intensity, Duration } from "zwiftout"; import { formatDuration } from "./formatDuration"; import styled from "styled-components"; @@ -56,6 +56,13 @@ const ZoneList = styled(List)` grid-template-columns: 1fr 1fr 1fr; `; +const xpEquivalent = (xp: number, totalDuration: Duration): string => { + const distanceInKm = Math.ceil(xp / 20); + const durationInHours = totalDuration.seconds / 60 / 60; + const speed = Math.round(distanceInKm / durationInHours); + return `equivalent to riding ${distanceInKm} km at ${speed} km/h`; +}; + export const WorkoutStats: React.FC<{ workout: Workout }> = ({ workout }) => { const { totalDuration, averageIntensity, normalizedIntensity, tss, xp, zones } = stats(workout); @@ -79,7 +86,7 @@ export const WorkoutStats: React.FC<{ workout: Workout }> = ({ workout }) => { - + ; );