Add dot when active

This commit is contained in:
Julia Friesel
2018-08-31 20:11:30 +02:00
parent c2c8a7da26
commit ca8764aa4b
2 changed files with 15 additions and 10 deletions
+5 -4
View File
@@ -12,10 +12,8 @@ export default class RadioButton extends Component {
<View style={styles.radioButtonGroup}>
{
this.props.buttons.map(({ label, value }) => {
const isActive = value === this.props.active
const circleStyle = [styles.radioButton]
if (value === this.props.active) {
circleStyle.push(styles.radioButtonActive)
}
return (
<TouchableOpacity
onPress={() => this.props.onSelect(value)}
@@ -23,7 +21,10 @@ export default class RadioButton extends Component {
activeOpacity={1}
>
<View style={styles.radioButtonTextGroup}>
<View style={circleStyle} />
<View style={circleStyle}>
{isActive ?
<View style={styles.radioButtonActiveDot}/> : null}
</View>
<Text>{label}</Text>
</View>
</TouchableOpacity>
+10 -6
View File
@@ -209,17 +209,21 @@ export default StyleSheet.create({
marginVertical: 10,
},
radioButton: {
width: 30,
height: 30,
width: 20,
height: 20,
borderRadius: 100,
borderStyle: 'solid',
borderWidth: 2,
borderColor: secondaryColor,
marginBottom: 5
marginBottom: 5,
alignItems: 'center',
justifyContent: 'center'
},
radioButtonActive: {
backgroundColor: secondaryColor,
color: fontOnPrimaryColor
radioButtonActiveDot: {
width: 10,
height: 10,
borderRadius: 100,
backgroundColor: secondaryColor
},
radioButtonGroup: {
flexDirection: 'row',