diff --git a/components/cycle-day/radio-button-group.js b/components/cycle-day/radio-button-group.js
deleted file mode 100644
index 8b7ffac..0000000
--- a/components/cycle-day/radio-button-group.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import React, { Component } from 'react'
-import {
- View,
- TouchableOpacity,
-} from 'react-native'
-import styles from '../../styles'
-import { AppText } from '../app-text'
-
-export default class RadioButton extends Component {
- render() {
- return (
-
- {
- this.props.buttons.map(({ label, value }) => {
- const isActive = value === this.props.active
- return (
- this.props.onSelect(value)}
- key={value}
- activeOpacity={1}
- >
-
-
- {isActive ?
- : null}
-
- {label}
-
-
- )
- })
- }
-
- )
- }
-}
\ No newline at end of file
diff --git a/components/cycle-day/select-tab-group.js b/components/cycle-day/select-tab-group.js
new file mode 100644
index 0000000..f402240
--- /dev/null
+++ b/components/cycle-day/select-tab-group.js
@@ -0,0 +1,46 @@
+import React, { Component } from 'react'
+import {
+ View,
+ TouchableOpacity,
+} from 'react-native'
+import styles from '../../styles'
+import { AppText } from '../app-text'
+
+export default class SelectTabGroup extends Component {
+ render() {
+ return (
+
+ {
+ this.props.buttons.map(({ label, value }, i) => {
+ let firstOrLastStyle
+ if (i === this.props.buttons.length - 1) {
+ firstOrLastStyle = styles.selectTabLast
+ } else if (i === 0) {
+ firstOrLastStyle = styles.selectTabFirst
+ }
+ let activeStyle
+ const isActive = value === this.props.active
+ if (isActive) activeStyle = styles.selectTabActive
+ return (
+ this.props.onSelect(value)}
+ key={value}
+ activeOpacity={1}
+ >
+
+
+ {label}
+
+
+
+ )
+ })
+ }
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/components/cycle-day/symptoms/bleeding.js b/components/cycle-day/symptoms/bleeding.js
index 57a084a..1321162 100644
--- a/components/cycle-day/symptoms/bleeding.js
+++ b/components/cycle-day/symptoms/bleeding.js
@@ -8,7 +8,7 @@ import styles from '../../../styles'
import { saveSymptom } from '../../../db'
import { bleeding as labels } from '../labels/labels'
import ActionButtonFooter from './action-button-footer'
-import RadioButtonGroup from '../radio-button-group'
+import SelectTabGroup from '../select-tab-group'
import { SymptomSectionHeader, AppText } from '../../app-text'
export default class Bleeding extends Component {
@@ -39,7 +39,7 @@ export default class Bleeding extends Component {
Heaviness
How heavy is the bleeding?
- this.setState({ currentValue: val })}
diff --git a/components/cycle-day/symptoms/cervix.js b/components/cycle-day/symptoms/cervix.js
index 86d46aa..ba1872e 100644
--- a/components/cycle-day/symptoms/cervix.js
+++ b/components/cycle-day/symptoms/cervix.js
@@ -12,7 +12,7 @@ import {
cervixPosition as positionLabels
} from '../labels/labels'
import ActionButtonFooter from './action-button-footer'
-import RadioButtonGroup from '../radio-button-group'
+import SelectTabGroup from '../select-tab-group'
import { SymptomSectionHeader } from '../../app-text'
export default class Cervix extends Component {
@@ -54,19 +54,19 @@ export default class Cervix extends Component {
Opening
- this.setState({ opening: val })}
/>
Firmness
- this.setState({ firmness: val })}
/>
Position
- this.setState({ position: val })}
diff --git a/components/cycle-day/symptoms/desire.js b/components/cycle-day/symptoms/desire.js
index 64a0306..d78bcff 100644
--- a/components/cycle-day/symptoms/desire.js
+++ b/components/cycle-day/symptoms/desire.js
@@ -7,7 +7,7 @@ import styles from '../../../styles'
import { saveSymptom } from '../../../db'
import { intensity as labels } from '../labels/labels'
import ActionButtonFooter from './action-button-footer'
-import RadioButtonGroup from '../radio-button-group'
+import SelectTabGroup from '../select-tab-group'
export default class Desire extends Component {
constructor(props) {
@@ -31,7 +31,7 @@ export default class Desire extends Component {
- this.setState({ currentValue: val })}
diff --git a/components/cycle-day/symptoms/mucus.js b/components/cycle-day/symptoms/mucus.js
index f8c3534..586fcb2 100644
--- a/components/cycle-day/symptoms/mucus.js
+++ b/components/cycle-day/symptoms/mucus.js
@@ -12,7 +12,7 @@ import {
} from '../labels/labels'
import computeSensiplanValue from '../../../lib/sensiplan-mucus'
import ActionButtonFooter from './action-button-footer'
-import RadioButtonGroup from '../radio-button-group'
+import SelectTabGroup from '../select-tab-group'
import { SymptomSectionHeader } from '../../app-text'
@@ -52,13 +52,13 @@ export default class Mucus extends Component {
Feeling
- this.setState({ feeling: val })}
active={this.state.feeling}
/>
Texture
- this.setState({ texture: val })}
active={this.state.texture}
diff --git a/styles/index.js b/styles/index.js
index b357a82..e3fd7d2 100644
--- a/styles/index.js
+++ b/styles/index.js
@@ -213,31 +213,33 @@ export default StyleSheet.create({
flexWrap: 'wrap',
marginVertical: 10,
},
- radioButtonGroup: {
- marginTop: 10
+ selectTabGroup: {
+ marginTop: 10,
+ flexDirection: 'row'
},
- radioButton: {
- width: 20,
- height: 20,
- borderRadius: 100,
+ selectTab: {
+ backgroundColor: 'lightgrey',
borderStyle: 'solid',
- borderWidth: 2,
- borderColor: secondaryColor,
+ borderLeftWidth: 1,
+ paddingVertical: 10,
+ paddingHorizontal: 15,
+ borderColor: 'white',
marginBottom: 3,
- marginRight: 10,
alignItems: 'center',
justifyContent: 'center'
},
- radioButtonActiveDot: {
- width: 10,
- height: 10,
- borderRadius: 100,
- backgroundColor: secondaryColor
+ selectTabActive: {
+ backgroundColor: secondaryColor,
+ color: fontOnPrimaryColor
},
- radioButtonTextGroup: {
- marginRight: 10,
- flexDirection: 'row',
- marginBottom: 10
+ selectTabLast: {
+ borderTopRightRadius: 10,
+ borderBottomRightRadius: 10,
+ },
+ selectTabFirst: {
+ borderTopLeftRadius: 10,
+ borderBottomLeftRadius: 10,
+ borderLeftWidth: null
},
page: {
marginHorizontal: 10