diff --git a/components/app.js b/components/app.js index b0924aa..dbd3cfb 100644 --- a/components/app.js +++ b/components/app.js @@ -19,28 +19,27 @@ export default class App extends Component { this.state = { currentPage: 'Home' } - - const handleBackButtonPress = function() { - if (this.state.currentPage === 'Home') return false - if (isSymptomView(this.state.currentPage)) { - this.navigate('CycleDay', {cycleDay: this.state.currentProps.cycleDay}) - } else { - this.navigate('Home') - } - return true - }.bind(this) - - this.backHandler = BackHandler.addEventListener('hardwareBackPress', handleBackButtonPress) + this.backHandler = BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress) } componentWillUnmount() { this.backHandler.remove() } - navigate(pageName, props) { + navigate = (pageName, props) => { this.setState({currentPage: pageName, currentProps: props}) } + handleBackButtonPress = () => { + if (this.state.currentPage === 'Home') return false + if (isSymptomView(this.state.currentPage)) { + this.navigate('CycleDay', { cycleDay: this.state.currentProps.cycleDay }) + } else { + this.navigate('Home') + } + return true + } + render() { const page = { Home, Calendar, CycleDay, Chart, Settings, Stats, ...symptomViews @@ -51,12 +50,12 @@ export default class App extends Component { {this.state.currentPage != 'CycleDay' &&
} {React.createElement(page, { - navigate: this.navigate.bind(this), + navigate: this.navigate, ...this.state.currentProps })} {!isSymptomView(this.state.currentPage) && - + } ) diff --git a/components/calendar.js b/components/calendar.js index 72fb1ba..fd85d3a 100644 --- a/components/calendar.js +++ b/components/calendar.js @@ -25,7 +25,7 @@ export default class CalendarView extends Component { bleedingDaysSortedByDate.removeListener(this.setStateWithCalFormattedDays) } - passDateToDayView(result) { + passDateToDayView = (result) => { const cycleDay = getOrCreateCycleDay(result.dateString) const navigate = this.props.navigate navigate('CycleDay', { cycleDay }) @@ -34,7 +34,7 @@ export default class CalendarView extends Component { render() { return ( diff --git a/components/cycle-day/cycle-day-overview.js b/components/cycle-day/cycle-day-overview.js index 168954f..85e8d48 100644 --- a/components/cycle-day/cycle-day-overview.js +++ b/components/cycle-day/cycle-day-overview.js @@ -31,7 +31,7 @@ export default class CycleDayOverView extends Component { } } - goToCycleDay(target) { + goToCycleDay = (target) => { const localDate = LocalDate.parse(this.state.cycleDay.date) const targetDate = target === 'before' ? localDate.minusDays(1).toString() : @@ -55,7 +55,7 @@ export default class CycleDayOverView extends Component { isCycleDayOverView={true} cycleDayNumber={cycleDayNumber} date={cycleDay.date} - goToCycleDay={this.goToCycleDay.bind(this)} + goToCycleDay={this.goToCycleDay} /> @@ -134,7 +134,10 @@ function getLabel(symptomName, symptom) { cervix: cervix => { let cervixLabel = [] if (cervix.opening > -1 && cervix.firmness > -1) { - cervixLabel.push(openingLabels[cervix.opening], firmnessLabels[cervix.firmness]) + cervixLabel.push( + openingLabels[cervix.opening], + firmnessLabels[cervix.firmness] + ) if (cervix.position > -1) { cervixLabel.push(positionLabels[cervix.position]) } diff --git a/components/menu.js b/components/menu.js index 8a55187..737203b 100644 --- a/components/menu.js +++ b/components/menu.js @@ -8,7 +8,7 @@ import styles, { iconStyles } from '../styles' import Icon from 'react-native-vector-icons/MaterialCommunityIcons' export default class Menu extends Component { - makeMenuItem({ title, icon, onPress}, i) { + makeMenuItem = ({ title, icon, onPress}, i) => { return ( this.goTo('Chart') }, { title: 'Stats', icon: 'chart-pie', onPress: () => this.goTo('Stats') }, { title: 'Settings', icon: 'settings', onPress: () => this.goTo('Settings') }, - ].map(this.makeMenuItem.bind(this))} + ].map(this.makeMenuItem)} ) }