Basics of calendar view #1
@@ -11,16 +11,16 @@
|
|||||||
<th>Sunday</th>
|
<th>Sunday</th>
|
||||||
<th>Total Milage</th>
|
<th>Total Milage</th>
|
||||||
</tr>
|
</tr>
|
||||||
@for (week of examplePlan.workouts; track $index) {
|
@for (planWeek of examplePlan.planDetials; track $index) {
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div>Week {{$index + 1}}</div>
|
<div>Week {{planWeek.week}}</div>
|
||||||
</td>
|
</td>
|
||||||
@for (day of week; track $index) {
|
@for (workout of planWeek.workouts; track $index) {
|
||||||
<td class="hoverOverWorkout">
|
<td class="hoverOverWorkout">
|
||||||
<div>{{day.type}}</div>
|
<div>{{workout.type}}</div>
|
||||||
<div>{{day.totalDistance == 0 ? '' : day.totalDistance + ' miles'}}</div>
|
<div>{{workout.totalDistance == 0 ? '' : workout.totalDistance + ' miles'}}</div>
|
||||||
<div>{{day.description}}</div>
|
<div>{{workout.description}}</div>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
<td>43</td>
|
<td>43</td>
|
||||||
|
|||||||
@@ -6,5 +6,10 @@ export interface Plan {
|
|||||||
startDate: Date,
|
startDate: Date,
|
||||||
endDate: Date,
|
endDate: Date,
|
||||||
numWeeks: number,
|
numWeeks: number,
|
||||||
workouts: Workout[][]
|
planDetials: Week[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Week {
|
||||||
|
week: number,
|
||||||
|
workouts: Workout[]
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
export interface Workout {
|
export interface Workout {
|
||||||
week: number
|
|
||||||
day: number,
|
day: number,
|
||||||
type: WorkoutType,
|
type: WorkoutType,
|
||||||
totalDistance: number,
|
totalDistance: number,
|
||||||
|
|||||||
@@ -7,924 +7,852 @@ export const examplePlan: Plan = {
|
|||||||
startDate: new Date('2026-03-23'),
|
startDate: new Date('2026-03-23'),
|
||||||
endDate: new Date('2026-03-23'),
|
endDate: new Date('2026-03-23'),
|
||||||
numWeeks: 18,
|
numWeeks: 18,
|
||||||
workouts: [
|
planDetials: [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
week: 1,
|
week: 1,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '20-25 min LT'
|
description: '20-25 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 1,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
week: 2,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '6 x 10s Hills, 8 x 100m strides'
|
description: '6 x 10s Hills, 8 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 2,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.MarathonPaceLongRun,
|
type: WorkoutType.MarathonPaceLongRun,
|
||||||
totalDistance: 12,
|
totalDistance: 12,
|
||||||
description: '8 mi @ marathon pace'
|
description: '8 mi @ marathon pace'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
week: 3,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '25-30 min LT'
|
description: '25-30 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 3,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 14,
|
totalDistance: 14,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
week: 4,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '6 x 10s Hills, 8 x 100m strides'
|
description: '6 x 10s Hills, 8 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 4,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 15,
|
totalDistance: 15,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
week: 5,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: '30-35 min LT'
|
description: '30-35 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 5,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.MarathonPaceLongRun,
|
type: WorkoutType.MarathonPaceLongRun,
|
||||||
totalDistance: 15,
|
totalDistance: 15,
|
||||||
description: '10 mi @ marathon pace'
|
description: '10 mi @ marathon pace'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
week: 6,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 7,
|
totalDistance: 7,
|
||||||
description: '10 x 100m strides'
|
description: '10 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 7,
|
totalDistance: 7,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 6,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
week: 7,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: '30-35 min LT'
|
description: '30-35 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 7,
|
totalDistance: 7,
|
||||||
description: '6 x 10s Hills, 8 x 100m strides'
|
description: '6 x 10s Hills, 8 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 7,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 17,
|
totalDistance: 17,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
week: 8,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 12,
|
totalDistance: 12,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 10,
|
totalDistance: 10,
|
||||||
description: '35-40 min LT'
|
description: '35-40 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 8,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 19,
|
totalDistance: 19,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
week: 9,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 13,
|
totalDistance: 13,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 9,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.MarathonPaceLongRun,
|
type: WorkoutType.MarathonPaceLongRun,
|
||||||
totalDistance: 16,
|
totalDistance: 16,
|
||||||
description: '12 mi @ marathon pace'
|
description: '12 mi @ marathon pace'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
week: 10,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '6 x 600m @ 5K pace'
|
description: '6 x 600m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 7,
|
totalDistance: 7,
|
||||||
description: '6 x 10s Hills, 8 x 100m strides'
|
description: '6 x 10s Hills, 8 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 10,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 13,
|
totalDistance: 13,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
week: 11,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Threshold,
|
type: WorkoutType.Threshold,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: '35-45 min LT'
|
description: '35-45 min LT'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 12,
|
totalDistance: 12,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 11,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 19,
|
totalDistance: 19,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
week: 12,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 10,
|
totalDistance: 10,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '5 x 600m @ 5K pace'
|
description: '5 x 600m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 10,
|
totalDistance: 10,
|
||||||
description: '8K-15K Tune Up'
|
description: '8K-15K Tune Up'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 12,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 16,
|
totalDistance: 16,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
week: 13,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: '5 x 1000m @ 5K pace'
|
description: '5 x 1000m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 13,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.MarathonPaceLongRun,
|
type: WorkoutType.MarathonPaceLongRun,
|
||||||
totalDistance: 17,
|
totalDistance: 17,
|
||||||
description: '14 mi @ marathon pace'
|
description: '14 mi @ marathon pace'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
week: 14,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 10,
|
totalDistance: 10,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '5 x 600m @ 5K pace'
|
description: '5 x 600m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 10,
|
totalDistance: 10,
|
||||||
description: '8K-15K Tune Up'
|
description: '8K-15K Tune Up'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 14,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 16,
|
totalDistance: 16,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
week: 15,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: '5 x 1000m @ 5K pace'
|
description: '5 x 1000m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.MediumLongRun,
|
type: WorkoutType.MediumLongRun,
|
||||||
totalDistance: 11,
|
totalDistance: 11,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 15,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 19,
|
totalDistance: 19,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
week: 16,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.GeneralAerobic,
|
type: WorkoutType.GeneralAerobic,
|
||||||
totalDistance: 7,
|
totalDistance: 7,
|
||||||
description: '6 x 10s Hills, 10 x 100m strides'
|
description: '6 x 10s Hills, 10 x 100m strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: '4-5 mi w/ 6x100 strides'
|
description: '4-5 mi w/ 6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 9,
|
totalDistance: 9,
|
||||||
description: '8K-10K Tune Up'
|
description: '8K-10K Tune Up'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 16,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 16,
|
totalDistance: 16,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
week: 17,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 6,
|
totalDistance: 6,
|
||||||
description: '8x100 strides'
|
description: '8x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.VO2Max,
|
type: WorkoutType.VO2Max,
|
||||||
totalDistance: 8,
|
totalDistance: 8,
|
||||||
description: '5 x 1000m @ 5K pace'
|
description: '5 x 1000m @ 5K pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 17,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.LongRun,
|
type: WorkoutType.LongRun,
|
||||||
totalDistance: 12,
|
totalDistance: 12,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
week: 18,
|
||||||
|
workouts: [
|
||||||
|
{
|
||||||
day: 0,
|
day: 0,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 1,
|
day: 1,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: '8x100 strides'
|
description: '8x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 2,
|
day: 2,
|
||||||
type: WorkoutType.DressRehersal,
|
type: WorkoutType.DressRehersal,
|
||||||
totalDistance: 5,
|
totalDistance: 5,
|
||||||
description: '2 mi @ marathon pace'
|
description: '2 mi @ marathon pace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 3,
|
day: 3,
|
||||||
type: WorkoutType.Rest,
|
type: WorkoutType.Rest,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 4,
|
day: 4,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 4,
|
totalDistance: 4,
|
||||||
description: '6x100 strides'
|
description: '6x100 strides'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 5,
|
day: 5,
|
||||||
type: WorkoutType.Recovery,
|
type: WorkoutType.Recovery,
|
||||||
totalDistance: 2,
|
totalDistance: 2,
|
||||||
description: ''
|
description: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
week: 18,
|
|
||||||
day: 6,
|
day: 6,
|
||||||
type: WorkoutType.RaceDay,
|
type: WorkoutType.RaceDay,
|
||||||
totalDistance: 26.2,
|
totalDistance: 26.2,
|
||||||
description: ''
|
description: ''
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user