From 9726654d21932320887d7344a09b6832cc4e147f Mon Sep 17 00:00:00 2001 From: Landon Reed Date: Fri, 16 Aug 2019 10:12:46 -0400 Subject: [PATCH 1/2] fix(service-alert): fix alert effective date time string fix ibi-group/trimet-mod-otp#136 --- .../narrative/line-itin/transit-leg-body.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/components/narrative/line-itin/transit-leg-body.js b/lib/components/narrative/line-itin/transit-leg-body.js index d8eaf524a..0bb52493c 100644 --- a/lib/components/narrative/line-itin/transit-leg-body.js +++ b/lib/components/narrative/line-itin/transit-leg-body.js @@ -202,14 +202,15 @@ class AlertsBody extends Component { {this.props.alerts .sort((a, b) => b.effectiveStartDate - a.effectiveStartDate) .map((alert, i) => { - const effectiveStartDate = moment(alert.effectiveStartDate) - const daysAway = moment().diff(effectiveStartDate, 'days') - // Add time if alert is effective within one day. Otherwise, use - // calendar long date format (e.g., July 31, 2019). - const dateTimeFormat = Math.abs(daysAway) <= 1 - ? `${timeFormat}, ${longDateFormat}` - : longDateFormat - const dateTimeString = effectiveStartDate.format(dateTimeFormat) + // If alert is effective as of +/- one day, use today, tomorrow, or + // yesterday with time. Otherwise, use long date format. + const dateTimeString = moment(alert.effectiveStartDate).calendar({ + sameDay: `${timeFormat}, [Today]`, + nextDay: `${timeFormat}, [Tomorrow]`, + lastDay: `${timeFormat}, [Yesterday]`, + lastWeek: `${longDateFormat}`, + sameElse: `${longDateFormat}` + }) const effectiveDateString = `Effective as of ${dateTimeString}` return (
From 7f7b8356effaa06707a17e7aced7ef6de0d12983 Mon Sep 17 00:00:00 2001 From: Landon Reed Date: Fri, 16 Aug 2019 10:23:14 -0400 Subject: [PATCH 2/2] refactor(service-alert): fix moment#calendar args --- .../narrative/line-itin/transit-leg-body.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/components/narrative/line-itin/transit-leg-body.js b/lib/components/narrative/line-itin/transit-leg-body.js index 0bb52493c..02752c1ef 100644 --- a/lib/components/narrative/line-itin/transit-leg-body.js +++ b/lib/components/narrative/line-itin/transit-leg-body.js @@ -204,13 +204,14 @@ class AlertsBody extends Component { .map((alert, i) => { // If alert is effective as of +/- one day, use today, tomorrow, or // yesterday with time. Otherwise, use long date format. - const dateTimeString = moment(alert.effectiveStartDate).calendar({ - sameDay: `${timeFormat}, [Today]`, - nextDay: `${timeFormat}, [Tomorrow]`, - lastDay: `${timeFormat}, [Yesterday]`, - lastWeek: `${longDateFormat}`, - sameElse: `${longDateFormat}` - }) + const dateTimeString = moment(alert.effectiveStartDate) + .calendar(null, { + sameDay: `${timeFormat}, [Today]`, + nextDay: `${timeFormat}, [Tomorrow]`, + lastDay: `${timeFormat}, [Yesterday]`, + lastWeek: `${longDateFormat}`, + sameElse: `${longDateFormat}` + }) const effectiveDateString = `Effective as of ${dateTimeString}` return (