From ac740596fa6b1945c0308d757d6f43939cbff964 Mon Sep 17 00:00:00 2001 From: Franc Camps-Febrer Date: Thu, 31 Jan 2019 19:21:23 -0500 Subject: [PATCH] Time display on Card display precision --- src/components/Card.jsx | 20 +++++++++++++++++-- .../presentational/Card/Timestamp.js | 7 +++---- src/components/presentational/Map/Events.jsx | 1 - src/reducers/schema/eventSchema.js | 1 + 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/components/Card.jsx b/src/components/Card.jsx index 027ffb9..4c4e141 100644 --- a/src/components/Card.jsx +++ b/src/components/Card.jsx @@ -88,11 +88,27 @@ class Card extends React.Component { // NB: should be internaionalized. renderTimestamp () { + let timelabel = this.makeTimelabel(this.props.event.timestamp) + + let precision = this.props.event.time_display; + if (precision === '_date_only') { + precision = '' + timelabel = timelabel.substring(0, 11) + } else if (precision === '_approximate_date_only') { + precision = ' (Approximate date)' + timelabel = timelabel.substring(0, 11) + } else if (precision === '_approximate_datetime') { + precision = ' (Approximate datetime)' + } else { + timelabel = timelabel.substring(0, 11) + } + return ( this.makeTimelabel(timestamp)} + makeTimelabel={timelabel} language={this.props.language} - timestamp={this.props.event.timestamp} + timelabel={timelabel} + precision={precision} /> ) } diff --git a/src/components/presentational/Card/Timestamp.js b/src/components/presentational/Card/Timestamp.js index ee95994..f08d660 100644 --- a/src/components/presentational/Card/Timestamp.js +++ b/src/components/presentational/Card/Timestamp.js @@ -3,18 +3,17 @@ import React from 'react' import copy from '../../../js/data/copy.json' import { isNotNullNorUndefined } from '../../../js/utilities' -const CardTimestamp = ({ makeTimelabel, language, timestamp }) => { +const CardTimestamp = ({ timelabel, language, precision }) => { // const daytimeLang = copy[language].cardstack.timestamp // const estimatedLang = copy[language].cardstack.estimated const unknownLang = copy[language].cardstack.unknown_time - if (isNotNullNorUndefined(timestamp)) { - const timelabel = makeTimelabel(timestamp) + if (isNotNullNorUndefined(timelabel)) { return (

today - {timelabel} + {timelabel}{(precision !== '') ? ` - ${precision}` : ''}

) diff --git a/src/components/presentational/Map/Events.jsx b/src/components/presentational/Map/Events.jsx index e2f9992..715e4f0 100644 --- a/src/components/presentational/Map/Events.jsx +++ b/src/components/presentational/Map/Events.jsx @@ -58,7 +58,6 @@ function MapEvents ({ getCategoryColor, categories, projectPoint, styleLocation, return ( { console.log('uo')}} class='location-event-marker' id={`arc_${idx}`} d={arc} diff --git a/src/reducers/schema/eventSchema.js b/src/reducers/schema/eventSchema.js index f351f7c..f11c4fa 100644 --- a/src/reducers/schema/eventSchema.js +++ b/src/reducers/schema/eventSchema.js @@ -16,6 +16,7 @@ const eventSchema = Joi.object().keys({ tags: Joi.array().allow(''), comments: Joi.string().allow(''), timestamp: Joi.string(), + time_display: Joi.string().allow(''), // nested narrative___stepStyles: Joi.array()