Chunk up range intervals

This commit is contained in:
Rene Saarsoo 2020-10-02 13:50:13 +03:00
parent 45c5d1a257
commit 285e268489
1 changed files with 5 additions and 2 deletions

View File

@ -1,7 +1,7 @@
import React, { useState, useCallback } from 'react'; import React, { useState, useCallback } from 'react';
import { WorkoutPlot } from './components/WorkoutPlot'; import { WorkoutPlot } from './components/WorkoutPlot';
import { WorkoutStats } from './components/WorkoutStats'; import { WorkoutStats } from './components/WorkoutStats';
import { parse } from 'make-workout'; import { parse, chunkRangeIntervals, Duration } from 'make-workout';
import { ErrorMessage } from './components/ErrorMessage'; import { ErrorMessage } from './components/ErrorMessage';
const defaultWorkout = `Name: Hello const defaultWorkout = `Name: Hello
@ -14,6 +14,9 @@ Rest: 10:00 75%
Cooldown: 10:00 60%..30% Cooldown: 10:00 60%..30%
`; `;
// Split range-intervals into 1 minute chunks
const chunkSize = new Duration(60);
export function App() { export function App() {
const [text, setText] = useState(defaultWorkout); const [text, setText] = useState(defaultWorkout);
const [workout, setWorkout] = useState(parse(defaultWorkout)); const [workout, setWorkout] = useState(parse(defaultWorkout));
@ -34,7 +37,7 @@ export function App() {
<div> <div>
<h1>Workout editor</h1> <h1>Workout editor</h1>
<textarea rows={10} cols={100} onChange={onChange} value={text} /> <textarea rows={10} cols={100} onChange={onChange} value={text} />
<WorkoutPlot intervals={workout.intervals} /> <WorkoutPlot intervals={chunkRangeIntervals(workout.intervals, chunkSize)} />
{error && <ErrorMessage>{error}</ErrorMessage>} {error && <ErrorMessage>{error}</ErrorMessage>}
<WorkoutStats workout={workout} /> <WorkoutStats workout={workout} />
</div> </div>