From c868e915d41da3261a912bcea6f3a0f5ca832532 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Thu, 30 Aug 2018 16:15:36 +0300 Subject: [PATCH] fix(appbar): fix autosave, user dropdown issues --- .../component-faraday-ui/src/AppBarMenu.js | 10 +++++----- .../src/AutosaveIndicator.js | 6 +----- packages/component-faraday-ui/src/index.js | 2 +- .../component-wizard/src/redux/autosave.js | 2 +- packages/hindawi-theme/src/elements/Menu.js | 4 ++-- packages/xpub-faraday/app/FaradayApp.js | 20 ++++++++++++++++--- .../app/config/journal/metadata.js | 4 ---- 7 files changed, 27 insertions(+), 21 deletions(-) diff --git a/packages/component-faraday-ui/src/AppBarMenu.js b/packages/component-faraday-ui/src/AppBarMenu.js index dc418f6d7..2ad4642d2 100644 --- a/packages/component-faraday-ui/src/AppBarMenu.js +++ b/packages/component-faraday-ui/src/AppBarMenu.js @@ -19,9 +19,9 @@ const AppBarMenu = ({ expanded, username, toggleMenu, - currentUser, + currentUser = {}, }) => - currentUser ? ( + currentUser.user ? ( <Root> <User onClick={toggleMenu}> <Text>{username}</Text> @@ -93,15 +93,15 @@ const DropdownOption = styled.div` display: flex; justify-content: flex-start; - font-family: ${th('fontHeading')}; + font-family: ${th('fontReading')}; font-size: ${th('fontSizeBase')}; line-height: ${th('lineHeightBase')}; - height: calc(${th('gridUnit')} * 3); + height: calc(${th('gridUnit')} * 4); padding: ${th('gridUnit')}; &:hover { - background-color: ${th('colorFurniture')}; + background-color: ${th('menu.optionBackground')}; } ` diff --git a/packages/component-faraday-ui/src/AutosaveIndicator.js b/packages/component-faraday-ui/src/AutosaveIndicator.js index 17e7be261..57f5d5955 100644 --- a/packages/component-faraday-ui/src/AutosaveIndicator.js +++ b/packages/component-faraday-ui/src/AutosaveIndicator.js @@ -15,13 +15,9 @@ class AutosaveIndicator extends Component { this.timer = null } - componentDidMount() { - this.setTimer() - } - componentWillReceiveProps({ autosave: nextAutosave }) { const { autosave, toggleVisible } = this.props - if (!isEqual(autosave, nextAutosave)) { + if (autosave && !isEqual(autosave, nextAutosave)) { toggleVisible() this.setTimer() } diff --git a/packages/component-faraday-ui/src/index.js b/packages/component-faraday-ui/src/index.js index d43b8dde0..04e061da8 100644 --- a/packages/component-faraday-ui/src/index.js +++ b/packages/component-faraday-ui/src/index.js @@ -6,6 +6,7 @@ export * from './gridItems' export { default as ActionLink } from './ActionLink' export { default as AuthorWithTooltip } from './AuthorWithTooltip' +export { default as Logo } from './Logo' export { default as AppBar } from './AppBar' export { default as AppBarMenu } from './AppBarMenu' export { default as AuthorCard } from './AuthorCard' @@ -19,7 +20,6 @@ export { default as FileItem } from './File' export { default as FileSection } from './FileSection' export { default as IconButton } from './IconButton' export { default as Label } from './Label' -export { default as Logo } from './Logo' export { default as ManuscriptCard } from './ManuscriptCard' export { default as ReviewerBreakdown } from './ReviewerBreakdown' export { default as PersonInfo } from './PersonInfo' diff --git a/packages/component-wizard/src/redux/autosave.js b/packages/component-wizard/src/redux/autosave.js index 7372e1124..17049d67c 100644 --- a/packages/component-wizard/src/redux/autosave.js +++ b/packages/component-wizard/src/redux/autosave.js @@ -43,7 +43,7 @@ export default (state = initialState, action) => { case AUTOSAVE_SUCCESS: return { ...initialState, - lastUpdate: action.receivedAt || action.lastUpdate, + lastUpdate: new Date(), } default: return state diff --git a/packages/hindawi-theme/src/elements/Menu.js b/packages/hindawi-theme/src/elements/Menu.js index da76d8508..460cdacb4 100644 --- a/packages/hindawi-theme/src/elements/Menu.js +++ b/packages/hindawi-theme/src/elements/Menu.js @@ -40,13 +40,13 @@ export default { margin-top: calc(${th('gridUnit')} / 2); `, Options: css` - background: ${th('colorBackground')}; + background: ${th('colorBackgroundHue')}; box-shadow: ${th('menu.openerShadow')}; `, Option: css` border: none; color: ${th('colorText')}; - font-family: ${th('fontHeading')}; + font-family: ${th('fontReading')}; font-size: ${th('fontSizeBase')}; line-height: ${th('lineHeightBase')}; height: calc(${th('gridUnit')} * 4); diff --git a/packages/xpub-faraday/app/FaradayApp.js b/packages/xpub-faraday/app/FaradayApp.js index 10ebbe7f7..2206f956b 100644 --- a/packages/xpub-faraday/app/FaradayApp.js +++ b/packages/xpub-faraday/app/FaradayApp.js @@ -1,4 +1,5 @@ import React from 'react' +import { get } from 'lodash' import { connect } from 'react-redux' import styled from 'styled-components' import { th } from '@pubsweet/ui-toolkit' @@ -13,15 +14,28 @@ import { AutosaveIndicator, } from 'pubsweet-component-faraday-ui' -const App = ({ autosave, journal, goTo, children, logout, currentUser }) => ( +const App = ({ + autosave, + journal = {}, + goTo, + children, + logout, + currentUser, +}) => ( <Root className="faraday-root"> <AppBar - autosave={() => <AutosaveIndicator autosave={autosave} delay={4000} />} + autosave={() => ( + <AutosaveIndicator + autosave={autosave} + delay={10000} + successText="Progress Saved" + /> + )} journal={journal} logo={() => ( <Logo onClick={() => goTo('/')} - src={journal.metadata.logo} + src={get(journal, 'metadata.logo')} title="Hindawi" /> )} diff --git a/packages/xpub-faraday/app/config/journal/metadata.js b/packages/xpub-faraday/app/config/journal/metadata.js index 50100c31d..f5e28f337 100644 --- a/packages/xpub-faraday/app/config/journal/metadata.js +++ b/packages/xpub-faraday/app/config/journal/metadata.js @@ -1,9 +1,5 @@ -import React from 'react' -import { Logo } from 'pubsweet-components-faraday/src/components' - export default { issn: '2474-7394', - name: <Logo srcUrl="/assets/hindawi-logo.png" />, logo: '/assets/hindawi-logo.png', nameText: 'Faraday Journal', email: 'faraday@hindawi.com', -- GitLab