diff --git a/src/containers/tud/components/QuestionnaireForm.js b/src/containers/tud/components/QuestionnaireForm.js index 33ab23ba..389bae8f 100644 --- a/src/containers/tud/components/QuestionnaireForm.js +++ b/src/containers/tud/components/QuestionnaireForm.js @@ -50,7 +50,8 @@ import { getDateTimeFromData, isFirstActivityPage, selectPrimaryActivityByPage, - updateActivityDateAndDay + updateActivityDateAndDay, + updateDayEndTime, } from '../utils'; import isIntroPage from '../utils/isIntroPage'; import isPreSurveyPage from '../utils/isPreSurveyPage'; @@ -352,6 +353,7 @@ const QuestionnaireForm = ({ } updateActivityDateAndDay(formData, activityDay); + updateDayEndTime(formData); updateSurveyProgress(formData); }; diff --git a/src/containers/tud/utils/index.js b/src/containers/tud/utils/index.js index 232c5208..eb60cd5d 100644 --- a/src/containers/tud/utils/index.js +++ b/src/containers/tud/utils/index.js @@ -1,5 +1,6 @@ import { get, getIn } from 'immutable'; import { DataProcessingUtils } from 'lattice-fabricate'; +import _get from 'lodash/get'; import _set from 'lodash/set'; import { DateTime } from 'luxon'; @@ -655,6 +656,14 @@ const updateActivityDateAndDay = (formData, activityDay) => { _set(formData, [psk, ACTIVITY_DAY], activityDay); }; +const updateDayEndTime = (formData) => { + const psk = getPageSectionKey(DAY_SPAN_PAGE, 0); + const dayEndTime = _get(formData, [psk, DAY_END_TIME]); + if (typeof dayEndTime === 'string' && dayEndTime.startsWith('24:')) { + _set(formData, [psk, DAY_END_TIME], dayEndTime.replace('24:', '00:')); + } +}; + export { applyCustomValidation, createFormSchema, @@ -663,5 +672,6 @@ export { formatTime, getIs12HourFormatSelected, selectPrimaryActivityByPage, - updateActivityDateAndDay + updateActivityDateAndDay, + updateDayEndTime, };