diff --git a/components/app.js b/components/app.js index 505f7bbf11eca1d64faad9c79da3ac83457707fe..f8a03501bea95ffc00c320d7583b10786c6386ec 100644 --- a/components/app.js +++ b/components/app.js @@ -65,6 +65,7 @@ class App extends Component { const title = headerTitles[currentPage] const isSettingsSubView = isSettingsView(currentPage) + const isTemperatureEditView = currentPage === 'TemperatureEditView' const headerProps = { title, @@ -74,6 +75,7 @@ class App extends Component { const pageProps = { cycleDay: date && getCycleDay(date), date, + isTemperatureEditView, } return ( diff --git a/components/cycle-day/cycle-day-overview.js b/components/cycle-day/cycle-day-overview.js index d26ad978225a806b58c62a8e9f37173ebb392dc6..3fcfe64c39c492c45d27477d6ecd6d97f5f54531 100644 --- a/components/cycle-day/cycle-day-overview.js +++ b/components/cycle-day/cycle-day-overview.js @@ -1,6 +1,7 @@ import React, { Component } from 'react' import { StyleSheet, View } from 'react-native' import PropTypes from 'prop-types' +import { LocalDate } from 'js-joda' import AppPage from '../common/app-page' import SymptomBox from './symptom-box' @@ -26,12 +27,17 @@ class CycleDayOverView extends Component { setDate: PropTypes.func, cycleDay: PropTypes.object, date: PropTypes.string, + isTemperatureEditView: PropTypes.bool, } constructor(props) { super(props) this.state = { cycleDay: getCycleDay(props.date), data: null } + if (props.isTemperatureEditView) { + const todayDateString = LocalDate.now().toString() + props.setDate(todayDateString) + } } updateCycleDay = (date) => { @@ -41,7 +47,7 @@ class CycleDayOverView extends Component { render() { const { cycleDay } = this.state - const { date } = this.props + const { date, isTemperatureEditView } = this.props const { getCycleDayNumber } = cycleModule() const cycleDayNumber = getCycleDayNumber(date) @@ -59,6 +65,8 @@ class CycleDayOverView extends Component { const symptomData = cycleDay && cycleDay[symptom] ? cycleDay[symptom] : null + const isSymptomEdited = isTemperatureEditView && symptom === 'temperature' + return( <SymptomBox key={symptom} @@ -66,6 +74,7 @@ class CycleDayOverView extends Component { symptomData={symptomData} symptomDataToDisplay={getData(symptom, symptomData)} updateCycleDayData={this.updateCycleDay} + isSymptomEdited={isSymptomEdited} /> ) })} diff --git a/components/cycle-day/symptom-box.js b/components/cycle-day/symptom-box.js index a30e88300252bafc1e5e361a6527a7667a533685..af9e51439a83ffc95815ae3f32800e9a0a71b018 100644 --- a/components/cycle-day/symptom-box.js +++ b/components/cycle-day/symptom-box.js @@ -17,16 +17,23 @@ class SymptomBox extends Component { static propTypes = { date: PropTypes.string.isRequired, + isSymptomEdited: PropTypes.bool, symptom: PropTypes.string.isRequired, symptomData: PropTypes.object, symptomDataToDisplay: PropTypes.string, - updateCycleDayData: PropTypes.func.isRequired + updateCycleDayData: PropTypes.func.isRequired, + } + + static defaultProps = { + isSymptomEdited: false, } constructor(props) { super(props) - this.state = { isSymptomEdited: false } + this.state = { + isSymptomEdited: props.isSymptomEdited + } } onFinishEditing = () => { @@ -158,4 +165,4 @@ const mapStateToProps = (state) => { export default connect( mapStateToProps, null, -)(SymptomBox) \ No newline at end of file +)(SymptomBox) diff --git a/components/views.js b/components/views.js index e32d29a60bbd7b694755c54fb03147543442381e..7e325b85c7087a6287f18ccddc2c282d29c39526 100644 --- a/components/views.js +++ b/components/views.js @@ -10,8 +10,9 @@ export const viewsList = { Home, Calendar, CycleDay, + TemperatureEditView: CycleDay, Chart, SettingsMenu, ...settingsViews, - Stats + Stats, } diff --git a/lib/notifications.js b/lib/notifications.js index 1692484ad1f7fd6e0c4167270c147cde58fa159c..f58a7671cca1f99b61e57ddbbd2e09356686afb8 100644 --- a/lib/notifications.js +++ b/lib/notifications.js @@ -1,6 +1,5 @@ import {tempReminderObservable, periodReminderObservable} from '../local-storage' import Notification from 'react-native-push-notification' -import { LocalDate } from 'js-joda' import Moment from 'moment' import labels from '../i18n/en/settings' import { getBleedingDaysSortedByDate } from '../db' @@ -11,7 +10,7 @@ export default function setupNotifications(navigate) { Notification.configure({ onNotification: (notification) => { if (notification.id === '1') { - navigate('TemperatureEditView', { date: LocalDate.now().toString() }) + navigate('TemperatureEditView') } else { navigate('Home') }