From 7ae6ddf3d9c18fdf6d15c2a7da66b471aad6a07a Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Tue, 4 Sep 2018 16:44:08 +0300
Subject: [PATCH] refactor(visual): add feedback for dashboard and appbar

---
 packages/component-faraday-ui/src/AppBar.js   |  38 ++++-
 packages/component-faraday-ui/src/AppBar.md   | 138 +++++++++++++-----
 .../src/components/Dashboard/Dashboard.js     |  14 --
 .../components/Dashboard/DashboardItems.js    |   1 +
 .../src/components/Dashboard/DashboardPage.js |  11 +-
 packages/hindawi-theme/src/index.js           |   4 +-
 packages/xpub-faraday/app/FaradayApp.js       |  18 ++-
 .../app/config/journal/metadata.js            |   2 +-
 .../xpub-faraday/static/logo-hindawi@2x.png   | Bin 0 -> 16735 bytes
 9 files changed, 151 insertions(+), 75 deletions(-)
 create mode 100755 packages/xpub-faraday/static/logo-hindawi@2x.png

diff --git a/packages/component-faraday-ui/src/AppBar.js b/packages/component-faraday-ui/src/AppBar.js
index d4bf4f108..bca602b1c 100644
--- a/packages/component-faraday-ui/src/AppBar.js
+++ b/packages/component-faraday-ui/src/AppBar.js
@@ -1,13 +1,19 @@
 import React from 'react'
-import { th } from '@pubsweet/ui-toolkit'
-import { H2 } from '@pubsweet/ui'
+import { get } from 'lodash'
 import styled from 'styled-components'
-import { compose, setDisplayName } from 'recompose'
+import { H2, Button } from '@pubsweet/ui'
+import { th } from '@pubsweet/ui-toolkit'
+import { compose, setDisplayName, withProps } from 'recompose'
+import { Item } from 'pubsweet-component-faraday-ui'
 
 const AppBar = ({
   logo: Logo,
   menu: Menu,
+  createDraft,
+  canCreateDraft,
+  currentUser = {},
   fixed = true,
+  isSubmit,
   autosave: Autosave,
   journal: { metadata: { backgroundImage, nameText } },
 }) => (
@@ -17,7 +23,24 @@ const AppBar = ({
       <Logo />
     </LogoContainer>
     <RightContainer>
-      <Autosave />
+      <Item mr={2}>
+        <Autosave />
+      </Item>
+      {createDraft &&
+        !isSubmit &&
+        currentUser.user && (
+          <Button
+            data-test="new-manuscript"
+            disabled={!canCreateDraft}
+            ml={2}
+            mr={5}
+            onClick={createDraft}
+            primary
+            size="small"
+          >
+            SUBMIT
+          </Button>
+        )}
       <Menu />
     </RightContainer>
   </Root>
@@ -29,7 +52,12 @@ AppBar.defaultProps = {
   menu: () => <div />,
 }
 
-export default compose(setDisplayName('AppBar'))(AppBar)
+export default compose(
+  withProps(({ location = {}, submitPath = '/submit' }) => ({
+    isSubmit: get(location, 'pathname', '').includes(submitPath),
+  })),
+  setDisplayName('AppBar'),
+)(AppBar)
 
 // #region styles
 const RightContainer = styled.div`
diff --git a/packages/component-faraday-ui/src/AppBar.md b/packages/component-faraday-ui/src/AppBar.md
index 6ff9d430f..1c1b61c6d 100644
--- a/packages/component-faraday-ui/src/AppBar.md
+++ b/packages/component-faraday-ui/src/AppBar.md
@@ -6,43 +6,47 @@ const currentUser = {
     admin: true,
     username: 'cocojambo',
     firstName: 'Alex',
-    lastName: 'Munteanu'
-  }
-};
+    lastName: 'Munteanu',
+  },
+}
 
 const autosave = {
-  isFetching: true
-};
+  isFetching: true,
+}
 
-const HindawiLogo = () => <Logo
-  onClick={() => console.log('Hindawi best publish!')}
-  title="Hindawi"
-  src="https://upload.wikimedia.org/wikipedia/en/thumb/c/ca/Hindawi.svg/1200px-Hindawi.svg.png"
-/>;
+const HindawiLogo = () => (
+  <Logo
+    onClick={() => console.log('Hindawi best publish!')}
+    title="Hindawi"
+    src="https://upload.wikimedia.org/wikipedia/en/thumb/c/ca/Hindawi.svg/1200px-Hindawi.svg.png"
+  />
+)
 
-const MenuComponent = () => <AppBarMenu
+const MenuComponent = () => (
+  <AppBarMenu
     currentUser={currentUser}
     goTo={path => console.log(`navigating to ${path}`)}
     logout={() => console.log('logging out')}
-  />;
+  />
+)
 
-const AutosaveComponent = () => <AutosaveIndicator
-    isVisible
-    autosave={autosave}
-  />;
+const AutosaveComponent = () => (
+  <AutosaveIndicator isVisible autosave={autosave} />
+)
 
-<AppBar
+;<AppBar
   autosave={AutosaveComponent}
   logo={HindawiLogo}
   menu={MenuComponent}
   journal={{
     metadata: {
-      nameText:'Chemistry Awesomeness', 
-    backgroundImage: 'https://images.hindawi.com/journals/jchem/jchem.banner.jpg'
+      nameText: 'Chemistry Awesomeness',
+      backgroundImage:
+        'https://images.hindawi.com/journals/jchem/jchem.banner.jpg',
     },
   }}
   fixed={false}
-  />
+/>
 ```
 
 Without a journal background.
@@ -53,41 +57,95 @@ const currentUser = {
     admin: true,
     username: 'cocojambo',
     firstName: 'Alex',
-    lastName: 'Munteanu'
-  }
-};
+    lastName: 'Munteanu',
+  },
+}
 
-const HindawiLogo = () => <Logo
-  onClick={() => console.log('Hindawi best publish!')}
-  title="Hindawi"
-  src="https://upload.wikimedia.org/wikipedia/en/thumb/c/ca/Hindawi.svg/1200px-Hindawi.svg.png"
-/>;
+const HindawiLogo = () => (
+  <Logo
+    onClick={() => console.log('Hindawi best publish!')}
+    title="Hindawi"
+    src="https://upload.wikimedia.org/wikipedia/en/thumb/c/ca/Hindawi.svg/1200px-Hindawi.svg.png"
+  />
+)
 
 const autosave = {
   isFetching: false,
   lastUpdate: new Date(),
-};
+}
 
-const MenuComponent = () => <AppBarMenu
-  currentUser={currentUser}
-  goTo={path => console.log(`navigating to ${path}`)}
-  logout={() => console.log('logging out')}
-  />;
+const MenuComponent = () => (
+  <AppBarMenu
+    currentUser={currentUser}
+    goTo={path => console.log(`navigating to ${path}`)}
+    logout={() => console.log('logging out')}
+  />
+)
 
-const AutosaveComponent = () => <AutosaveIndicator
-    isVisible
-    autosave={autosave}
-  />;
+const AutosaveComponent = () => (
+  <AutosaveIndicator isVisible autosave={autosave} />
+)
 
-<AppBar
+;<AppBar
   autosave={AutosaveComponent}
   logo={HindawiLogo}
   menu={MenuComponent}
   journal={{
     metadata: {
-      nameText:'Chemistry Awesomeness',
+      nameText: 'Chemistry Awesomeness',
     },
   }}
   fixed={false}
+/>
+```
+
+With submit manuscript button
+
+```js
+const currentUser = {
+  user: {
+    admin: true,
+    username: 'cocojambo',
+    firstName: 'Alex',
+    lastName: 'Munteanu',
+  },
+}
+
+const HindawiLogo = () => (
+  <Logo
+    onClick={() => console.log('Hindawi best publish!')}
+    title="Hindawi"
+    src="https://upload.wikimedia.org/wikipedia/en/thumb/c/ca/Hindawi.svg/1200px-Hindawi.svg.png"
   />
+)
+
+const autosave = {
+  isFetching: false,
+  lastUpdate: new Date(),
+}
+
+const MenuComponent = () => (
+  <AppBarMenu
+    currentUser={currentUser}
+    goTo={path => console.log(`navigating to ${path}`)}
+    logout={() => console.log('logging out')}
+  />
+)
+
+const AutosaveComponent = () => (
+  <AutosaveIndicator isVisible autosave={autosave} />
+)
+
+;<AppBar
+  autosave={AutosaveComponent}
+  logo={HindawiLogo}
+  menu={MenuComponent}
+  createDraft={() => alert('Submit manuscript')}
+  journal={{
+    metadata: {
+      nameText: 'Chemistry Awesomeness',
+    },
+  }}
+  fixed={false}
+/>
 ```
diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js
index 7fa751167..e61e16d1d 100644
--- a/packages/components-faraday/src/components/Dashboard/Dashboard.js
+++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js
@@ -1,30 +1,16 @@
 import React, { Fragment } from 'react'
-import { Button } from '@pubsweet/ui'
 import { compose, withProps } from 'recompose'
-import { Row } from 'pubsweet-component-faraday-ui'
 
 import { DashboardItems, DashboardFilters } from './'
 
 const Dashboard = ({
   deleteProject,
   dashboardItems,
-  canCreateDraft,
   getFilterOptions,
   changeFilterValue,
-  createDraftSubmission,
   getDefaultFilterValue,
 }) => (
   <Fragment>
-    <Row alignItems="center" justify="flex-end">
-      <Button
-        data-test="new-manuscript"
-        disabled={!canCreateDraft}
-        onClick={createDraftSubmission}
-        primary
-      >
-        Submit
-      </Button>
-    </Row>
     <DashboardFilters
       changeFilterValue={changeFilterValue}
       getDefaultFilterValue={getDefaultFilterValue}
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardItems.js b/packages/components-faraday/src/components/Dashboard/DashboardItems.js
index 428d5dd06..b43ac4287 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardItems.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardItems.js
@@ -55,6 +55,7 @@ export default compose(
 const Root = styled.div`
   height: calc(100vh - 204px);
   overflow-y: auto;
+  overflow-x: hidden;
   div[open] {
     width: auto;
   }
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js
index ee51f5000..944329379 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js
@@ -6,12 +6,8 @@ import { ConnectPage } from 'xpub-connect'
 import { withRouter } from 'react-router-dom'
 import { compose, withContext } from 'recompose'
 import { newestFirst, selectCurrentUser } from 'xpub-selectors'
-import { createDraftSubmission } from 'pubsweet-component-wizard/src/redux/conversion'
 
-import {
-  userNotConfirmed,
-  getUserPermissions,
-} from 'pubsweet-component-faraday-selectors'
+import { getUserPermissions } from 'pubsweet-component-faraday-selectors'
 
 import { Dashboard } from './'
 import { priorityFilter, orderFilter, withFiltersHOC } from '../Filters'
@@ -22,7 +18,6 @@ export default compose(
     state => {
       const { collections, conversion } = state
       const currentUser = selectCurrentUser(state)
-      const canCreateDraft = !userNotConfirmed(state)
       const sortedCollections = newestFirst(collections)
 
       const dashboard = {
@@ -47,14 +42,12 @@ export default compose(
         conversion,
         collections,
         currentUser,
-        canCreateDraft,
         userPermissions,
       }
     },
-    (dispatch, { history }) => ({
+    dispatch => ({
       deleteProject: collection =>
         dispatch(actions.deleteCollection(collection)),
-      createDraftSubmission: () => dispatch(createDraftSubmission(history)),
     }),
   ),
   withRouter,
diff --git a/packages/hindawi-theme/src/index.js b/packages/hindawi-theme/src/index.js
index e57df7559..f2d28cd17 100644
--- a/packages/hindawi-theme/src/index.js
+++ b/packages/hindawi-theme/src/index.js
@@ -57,7 +57,7 @@ const hindawiTheme = {
   appBar: {
     boxShadow: '0 2px 3px 0 rgba(25, 102, 141, 0.19)',
     colorBackground: '#ffffff',
-    height: '60px',
+    height: '70px',
     zIndex: 1000,
   },
 
@@ -94,7 +94,7 @@ const hindawiTheme = {
 
     defaultHeight: '40px',
     mediumHeight: '30px',
-    smallHeight: '20px',
+    smallHeight: '24px',
 
     minWidth: '120px',
     mediumMinWidth: '100px',
diff --git a/packages/xpub-faraday/app/FaradayApp.js b/packages/xpub-faraday/app/FaradayApp.js
index e8065ef3d..68d625269 100644
--- a/packages/xpub-faraday/app/FaradayApp.js
+++ b/packages/xpub-faraday/app/FaradayApp.js
@@ -13,6 +13,8 @@ import {
   AppBarMenu,
   AutosaveIndicator,
 } from 'pubsweet-component-faraday-ui'
+import { userNotConfirmed } from 'pubsweet-component-faraday-selectors'
+import { createDraftSubmission } from 'pubsweet-component-wizard/src/redux/conversion'
 
 const App = ({
   autosave,
@@ -21,6 +23,7 @@ const App = ({
   children,
   logout,
   currentUser,
+  ...rest
 }) => (
   <Root className="faraday-root">
     <AppBar
@@ -31,9 +34,11 @@ const App = ({
           successText="Progress Saved"
         />
       )}
+      currentUser={currentUser}
       journal={journal}
       logo={() => (
         <Logo
+          height={54}
           onClick={() => goTo('/')}
           src={get(journal, 'metadata.logo')}
           title="Hindawi"
@@ -42,21 +47,26 @@ const App = ({
       menu={() => (
         <AppBarMenu currentUser={currentUser} goTo={goTo} logout={logout} />
       )}
+      {...rest}
     />
     <MainContainer className="faraday-main">{children}</MainContainer>
   </Root>
 )
 
 export default compose(
+  withRouter,
+  withJournal,
   connect(
     state => ({
       autosave: state.autosave,
       currentUser: state.currentUser,
+      canCreateDraft: !userNotConfirmed(state),
+    }),
+    (dispatch, { history }) => ({
+      logout: () => dispatch(actions.logoutUser()),
+      createDraft: () => dispatch(createDraftSubmission(history)),
     }),
-    { logout: actions.logoutUser },
   ),
-  withJournal,
-  withRouter,
   withHandlers({
     goTo: ({ history }) => path => {
       history.push(path)
@@ -77,7 +87,7 @@ const MainContainer = styled.div`
   display: flex;
   flex-direction: column;
   overflow-y: auto;
-  padding: calc(${th('appBar.height')} + ${th('gridUnit')} * 3)
+  padding: calc(${th('appBar.height')} + ${th('gridUnit')} * 2.5)
     calc(${th('gridUnit')} * 12) calc(${th('gridUnit')} * 2);
 `
 // #endregion
diff --git a/packages/xpub-faraday/app/config/journal/metadata.js b/packages/xpub-faraday/app/config/journal/metadata.js
index d55bc4c7f..c01df20fb 100644
--- a/packages/xpub-faraday/app/config/journal/metadata.js
+++ b/packages/xpub-faraday/app/config/journal/metadata.js
@@ -1,6 +1,6 @@
 export default {
   issn: '2474-7394',
-  logo: '/assets/hindawi-logo.png',
+  logo: '/assets/logo-hindawi@2x.png',
   nameText: 'Faraday Journal',
   email: 'faraday@hindawi.com',
   mts: {
diff --git a/packages/xpub-faraday/static/logo-hindawi@2x.png b/packages/xpub-faraday/static/logo-hindawi@2x.png
new file mode 100755
index 0000000000000000000000000000000000000000..ab4bf2641c10d5233b11627fc39c3f43cae41de7
GIT binary patch
literal 16735
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

literal 0
HcmV?d00001

-- 
GitLab