47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import React from 'react'
|
|
import PropTypes from 'prop-types'
|
|
import { View } from 'react-native'
|
|
|
|
import SymptomIcon from './symptom-icon'
|
|
import TickList from './tick-list'
|
|
import ChartLegend from './chart-legend'
|
|
|
|
import styles from './styles'
|
|
|
|
const YAxis = ({
|
|
height,
|
|
symptomsToDisplay,
|
|
symptomsSectionHeight,
|
|
shouldShowTemperatureColumn,
|
|
xAxisHeight
|
|
}) => {
|
|
const symptomIconHeight = symptomsSectionHeight / symptomsToDisplay.length
|
|
|
|
return (
|
|
<View>
|
|
<View style={[styles.yAxis, {height: symptomsSectionHeight}]}>
|
|
{symptomsToDisplay.map(symptom => (
|
|
<SymptomIcon
|
|
key={symptom}
|
|
symptom={symptom}
|
|
height={symptomIconHeight}
|
|
/>
|
|
)
|
|
)}
|
|
</View>
|
|
{shouldShowTemperatureColumn && <TickList height={height} />}
|
|
<ChartLegend xAxisHeight={xAxisHeight} />
|
|
</View>
|
|
)
|
|
}
|
|
|
|
YAxis.propTypes = {
|
|
height: PropTypes.number,
|
|
symptomsToDisplay: PropTypes.array,
|
|
symptomsSectionHeight: PropTypes.number,
|
|
shouldShowTemperatureColumn: PropTypes.bool,
|
|
xAxisHeight: PropTypes.number.isRequired
|
|
}
|
|
|
|
export default YAxis
|