From f11c5de12c6be96ee047af9c3dfa1c9b1387da9a Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Thu, 23 Aug 2018 10:18:31 +0300
Subject: [PATCH] feat(details): use dateparser from UI instead of latest
 created

---
 .../component-faraday-ui/src/AuthorCard.js    |  6 ++---
 .../src/ManuscriptCard.js                     | 22 ++++++++++---------
 .../src/ManuscriptDetailsTop.js               | 16 +++++++++-----
 .../component-faraday-ui/src/PersonInfo.js    |  6 ++---
 .../src/gridItems/Item.js                     |  7 +++---
 .../src/components/StepTwo.js                 |  2 +-
 .../components/Dashboard/DashboardFilters.js  |  2 +-
 .../components/Dashboard/DashboardItems.js    |  2 +-
 8 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/packages/component-faraday-ui/src/AuthorCard.js b/packages/component-faraday-ui/src/AuthorCard.js
index a1e6fad9f..8f627001d 100644
--- a/packages/component-faraday-ui/src/AuthorCard.js
+++ b/packages/component-faraday-ui/src/AuthorCard.js
@@ -100,7 +100,7 @@ const AuthorEdit = ({
     <Row>
       <Field component={Empty} name="id" />
       <Field component={Empty} name="isSubmitting" />
-      <Item vertical withRightMargin>
+      <Item mr={1} vertical>
         <Label required>Email</Label>
         <ValidatedField
           component={TextField}
@@ -108,7 +108,7 @@ const AuthorEdit = ({
           validate={[required, validators.emailValidator]}
         />
       </Item>
-      <Item vertical withRightMargin>
+      <Item mr={1} vertical>
         <Label required>First name</Label>
         <ValidatedField
           component={TextField}
@@ -116,7 +116,7 @@ const AuthorEdit = ({
           validate={[required]}
         />
       </Item>
-      <Item vertical withRightMargin>
+      <Item mr={1} vertical>
         <Label required>Last name</Label>
         <ValidatedField
           component={TextField}
diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js
index 69060affa..4fbaf55e0 100644
--- a/packages/component-faraday-ui/src/ManuscriptCard.js
+++ b/packages/component-faraday-ui/src/ManuscriptCard.js
@@ -1,7 +1,6 @@
 import React from 'react'
-import moment from 'moment'
 import { get } from 'lodash'
-import { H3, H4 } from '@pubsweet/ui'
+import { H3, H4, DateParser } from '@pubsweet/ui'
 import styled from 'styled-components'
 import { th } from '@pubsweet/ui-toolkit'
 import { withJournal } from 'xpub-journal'
@@ -21,7 +20,6 @@ import {
 import { OpenModal } from './modals'
 
 const ManuscriptCard = ({
-  submitDate,
   onCardClick,
   onDelete,
   canDelete,
@@ -47,9 +45,16 @@ const ManuscriptCard = ({
         )}
         <Row alignItems="center" justify="flex-start" mb={1}>
           <Text customId mr={1}>{`ID ${customId}`}</Text>
-          <Text mr={3} secondary>
-            {submitDate}
-          </Text>
+          <DateParser
+            durationThreshold={0}
+            timestamp={fragment.submitted || ''}
+          >
+            {timestamp => (
+              <Text mr={3} secondary>
+                Submitted on {timestamp}
+              </Text>
+            )}
+          </DateParser>
           <H4>{manuscriptType.label || type}</H4>
           <Text ml={1} secondary>
             {journal}
@@ -97,13 +102,10 @@ export default compose(
   }),
   withProps(
     ({
-      fragment: { submitted, metadata },
+      fragment: { metadata },
       journal = {},
       collection: { status = 'draft' },
     }) => ({
-      submitDate: submitted
-        ? `Submitted on ${moment(submitted).format('DD.MM.YYYY')}`
-        : '',
       manuscriptType: get(journal, 'manuscriptTypes', []).find(
         t => t.value === get(metadata, 'type', ''),
       ),
diff --git a/packages/component-faraday-ui/src/ManuscriptDetailsTop.js b/packages/component-faraday-ui/src/ManuscriptDetailsTop.js
index 2ddbca724..b8409fd1d 100644
--- a/packages/component-faraday-ui/src/ManuscriptDetailsTop.js
+++ b/packages/component-faraday-ui/src/ManuscriptDetailsTop.js
@@ -1,21 +1,23 @@
 import React from 'react'
 import {
   Row,
+  Item,
   ActionLink,
-  DateParser,
   IconButton,
   DownloadZipFiles,
   ManuscriptVersion,
+  Text,
 } from 'pubsweet-component-faraday-ui'
+import { DateParser } from '@pubsweet/ui'
 
 const ManuscriptDetailsTop = ({ history, collection = {}, fragment = {} }) => (
   <Row alignItems="center" mb={1}>
-    <Row alignItems="center" justify="flex-start">
+    <Item alignItems="center" justify="flex-start">
       <ActionLink icon="arrow-left" onClick={() => history.push('/')}>
         Dashboard
       </ActionLink>
-    </Row>
-    <Row alignItems="center" justify="flex-end">
+    </Item>
+    <Item alignItems="center" justify="flex-end">
       <DownloadZipFiles
         archiveName={`ID-${collection.customId}`}
         collectionId={collection.id}
@@ -23,9 +25,11 @@ const ManuscriptDetailsTop = ({ history, collection = {}, fragment = {} }) => (
       >
         <IconButton icon="download" />
       </DownloadZipFiles>
-      <DateParser date={fragment.submitted} label="Updated on" />
+      <DateParser durationThreshold={0} timestamp={fragment.submitted || ''}>
+        {timestamp => <Text mr={1}>Updated on {timestamp}</Text>}
+      </DateParser>
       <ManuscriptVersion collection={collection} fragment={fragment} />
-    </Row>
+    </Item>
   </Row>
 )
 
diff --git a/packages/component-faraday-ui/src/PersonInfo.js b/packages/component-faraday-ui/src/PersonInfo.js
index c3fb7835d..fbf87496c 100644
--- a/packages/component-faraday-ui/src/PersonInfo.js
+++ b/packages/component-faraday-ui/src/PersonInfo.js
@@ -17,15 +17,15 @@ const PersonInfo = ({
   person: { email, firstName, lastName, affiliation } = defaultPerson,
 }) => (
   <Row>
-    <Item vertical withRightMargin>
+    <Item mr={1} vertical>
       <Label>Email</Label>
       <Text>{email}</Text>
     </Item>
-    <Item vertical withRightMargin>
+    <Item mr={1} vertical>
       <Label>First name</Label>
       <Text>{firstName}</Text>
     </Item>
-    <Item vertical withRightMargin>
+    <Item mr={1} vertical>
       <Label>Last name</Label>
       <Text>{lastName}</Text>
     </Item>
diff --git a/packages/component-faraday-ui/src/gridItems/Item.js b/packages/component-faraday-ui/src/gridItems/Item.js
index 780a1125f..ff1e97565 100644
--- a/packages/component-faraday-ui/src/gridItems/Item.js
+++ b/packages/component-faraday-ui/src/gridItems/Item.js
@@ -1,6 +1,7 @@
 import { isNumber } from 'lodash'
 import styled from 'styled-components'
-import { th } from '@pubsweet/ui-toolkit'
+
+import { marginHelper } from 'pubsweet-component-faraday-ui'
 
 /** @component */
 export default styled.div.attrs({
@@ -10,6 +11,6 @@ export default styled.div.attrs({
   flex: ${({ flex }) => (isNumber(flex) ? flex : 1)};
   flex-direction: ${({ vertical }) => (vertical ? 'column' : 'row')};
   justify-content: ${({ justify }) => justify || 'initial'};
-  margin-right: ${({ withRightMargin }) =>
-    withRightMargin ? th('gridUnit') : 0};
+  align-items: ${({ alignItems }) => alignItems || 'flex-start'};
+  ${marginHelper};
 `
diff --git a/packages/component-wizard/src/components/StepTwo.js b/packages/component-wizard/src/components/StepTwo.js
index cf9e75861..71c6ad520 100644
--- a/packages/component-wizard/src/components/StepTwo.js
+++ b/packages/component-wizard/src/components/StepTwo.js
@@ -37,7 +37,7 @@ const StepTwo = ({
     </Row>
 
     <Row mb={1}>
-      <Item data-test-id="submission-title" flex={3} vertical withRightMargin>
+      <Item data-test-id="submission-title" flex={3} mr={1} vertical>
         <Label required>MANUSCRIPT TITLE</Label>
         <ValidatedField
           component={TextField}
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
index aea159fd7..e6270636c 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js
@@ -12,7 +12,7 @@ const DashboardFilters = ({
     <Text mr={1} pb={1} secondary>
       Filters
     </Text>
-    <Item flex={0} vertical withRightMargin>
+    <Item flex={0} mr={1} vertical>
       <Label>Priority</Label>
       <Menu
         inline
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardItems.js b/packages/components-faraday/src/components/Dashboard/DashboardItems.js
index 28a48894a..7ff466590 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardItems.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardItems.js
@@ -14,7 +14,7 @@ const DashboardItems = ({ onClick, list, deleteProject }) => (
   <Root>
     {!list.length ? (
       <Row justify="center" mt={4}>
-        <H3>Nothing to do at the moment. Please upload a manuscript.</H3>
+        <H3>Manuscripts will appear here!</H3>
       </Row>
     ) : (
       list.map(collection => (
-- 
GitLab