When navigating to cycle day, remember origin

This commit is contained in:
Julia Friesel
2018-08-31 16:43:35 +02:00
parent 54a3db4096
commit 0414eb3570
+11
View File
@@ -29,6 +29,10 @@ export default class App extends Component {
}
navigate = (pageName, props) => {
const curr = this.state.currentPage
if (navigatingToCycleDayFromMainMenuEntry(pageName, curr)) {
this.cycleDayOrigin = curr
}
this.setState({currentPage: pageName, currentProps: props})
}
@@ -36,6 +40,9 @@ export default class App extends Component {
if (this.state.currentPage === 'Home') return false
if (isSymptomView(this.state.currentPage)) {
this.navigate('CycleDay', { cycleDay: this.state.currentProps.cycleDay })
} else if(this.state.currentPage === 'CycleDay') {
this.navigate(this.cycleDayOrigin || 'Home')
this.cycleDayOrigin = null
} else {
this.navigate('Home')
}
@@ -63,3 +70,7 @@ export default class App extends Component {
)
}
}
function navigatingToCycleDayFromMainMenuEntry(target, curr) {
return target === 'CycleDay' && ['Home', 'Calendar', 'Chart'].indexOf(curr) > -1
}