Compare commits

...

3 Commits

Author SHA1 Message Date
MariaZ 9b9db80949 Center temp label in yAxis 2022-09-30 21:53:53 +02:00
MariaZ 6cfbcd0408 Show label if height allows it, decrease # of ticks based on temp range 2022-09-30 21:51:27 +02:00
MariaZ 93608ca8ef Set Tick text minHeight 2022-09-30 21:20:01 +02:00
3 changed files with 28 additions and 14 deletions
+5 -2
View File
@@ -8,13 +8,15 @@ import { Sizes } from '../../styles'
import { CHART_TICK_WIDTH } from '../../config' import { CHART_TICK_WIDTH } from '../../config'
const Tick = ({ yPosition, height, isBold, shouldShowLabel, label }) => { const Tick = ({ yPosition, height, isBold, shouldShowLabel, label }) => {
const top = yPosition - height / 2 const top = yPosition - height / 2 - 4
const containerStyle = [styles.container, { flexBasis: height, height, top }] const containerStyle = [styles.container, { flexBasis: height, height, top }]
const textStyle = isBold ? styles.textBold : styles.textNormal const textStyle = isBold ? styles.textBold : styles.textNormal
if (!shouldShowLabel) return null
return ( return (
<View style={containerStyle}> <View style={containerStyle}>
<AppText style={textStyle}>{shouldShowLabel && label}</AppText> <AppText style={textStyle}>{label}</AppText>
</View> </View>
) )
} }
@@ -36,6 +38,7 @@ const styles = StyleSheet.create({
position: 'absolute', position: 'absolute',
right: 0, right: 0,
width: CHART_TICK_WIDTH, width: CHART_TICK_WIDTH,
minHeight: Sizes.base + 2,
}, },
textBold: { textBold: {
fontSize: Sizes.base, fontSize: Sizes.base,
+11 -6
View File
@@ -3,6 +3,7 @@ import { LocalDate } from '@js-joda/core'
import { scaleObservable, unitObservable } from '../../local-storage' import { scaleObservable, unitObservable } from '../../local-storage'
import { getCycleStatusForDay } from '../../lib/sympto-adapter' import { getCycleStatusForDay } from '../../lib/sympto-adapter'
import { getCycleDay, getAmountOfCycleDays } from '../../db' import { getCycleDay, getAmountOfCycleDays } from '../../db'
import { Sizes } from '../../styles'
//YAxis helpers //YAxis helpers
@@ -50,14 +51,18 @@ export function getTickList(columnHeight) {
const label = tick.toFixed(1) const label = tick.toFixed(1)
let shouldShowLabel let shouldShowLabel
// when temp range <= 2, units === 0.1 we show temp values with step 0.2 // when units === 0.1 and tick height is big enough, we show temp values with step 0.2
// when temp range > 2, units === 0.5 we show temp values with step 0.5 // when units === 0.5 and tick height is not big enough, we show temp values with step 1
// otherwise we show temp values with step 0.5
if (unit === 0.1) { switch (true) {
// show label with step 0.2 case unit === 0.1 && tickHeight > Sizes.base + 2:
shouldShowLabel = !((label * 10) % 2) shouldShowLabel = !((label * 10) % 2)
} else { break
// show label with step 0.5 case unit === 0.5 && tickHeight <= Sizes.base + 2:
shouldShowLabel = !((label * 10) % 10)
break
default:
shouldShowLabel = !((label * 10) % 5) shouldShowLabel = !((label * 10) % 5)
} }
+8 -2
View File
@@ -12,9 +12,15 @@ export const unitObservable = Observable()
unitObservable.set(TEMP_SCALE_UNITS) unitObservable.set(TEMP_SCALE_UNITS)
scaleObservable((scale) => { scaleObservable((scale) => {
const scaleRange = scale.max - scale.min const scaleRange = scale.max - scale.min
if (scaleRange <= 1.5) {
switch (true) {
case scaleRange <= 1:
unitObservable.set(0.1) unitObservable.set(0.1)
} else { break
case scaleRange > 1 && scaleRange <= 2:
unitObservable.set(0.2)
break
default:
unitObservable.set(0.5) unitObservable.set(0.5)
} }
}) })