123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import ExerciseComposition from './ExerciseComposition'
- import { calculateDuration, formatTime } from '../utils'
- import { TBlockInstance } from '../types'
- const TrainingBlock = ({
- blockInstance
- }: {
- blockInstance: TBlockInstance
- }) => {
- const duration = calculateDuration(blockInstance)
- const { title, blocks, exercises } = blockInstance.block
- return (
- <div>
- {title && (
- <h3>
- <span className='block-title'>{title}</span>{' '}
- <span className='block-time'>{formatTime(duration)}</span>
- </h3>
- )}
- {blocks &&
- blocks.map(block => (
- <TrainingBlock key={block.id} blockInstance={block} />
- ))}
- {exercises?.length ? (
- <ExerciseComposition exercises={exercises} duration={duration} />
- ) : null}
- <style jsx>
- {`
- section {
- display: grid;
- }
- .block-time {
- color: gray;
- font-size: 90%;
- }
- .block-time::before {
- content: '(';
- }
- .block-time::after {
- content: ')';
- }
- `}
- </style>
- </div>
- )
- }
- export default TrainingBlock
|