From 8d536a600d5b927cb2b2625c561bae8a92abd6af Mon Sep 17 00:00:00 2001 From: Alexandru Munteanu <alexandru.munt@gmail.com> Date: Thu, 16 Aug 2018 13:48:39 +0300 Subject: [PATCH] feat(dashboard): add appbar from hindawi ui --- packages/component-faraday-ui/package.json | 6 +-- packages/component-faraday-ui/src/AppBar.js | 4 +- packages/component-faraday-ui/src/AppBar.md | 12 ++++-- .../component-faraday-ui/src/AppBarMenu.js | 4 +- packages/component-faraday-ui/src/index.js | 18 +++++++++ .../component-faraday-ui/src/modals/index.js | 2 + packages/hindawi-theme/src/index.js | 2 +- packages/xpub-faraday/app/FaradayApp.js | 39 +++++++++++-------- 8 files changed, 59 insertions(+), 28 deletions(-) create mode 100644 packages/component-faraday-ui/src/index.js create mode 100644 packages/component-faraday-ui/src/modals/index.js diff --git a/packages/component-faraday-ui/package.json b/packages/component-faraday-ui/package.json index e7dd2ab38..4e2c1dafb 100644 --- a/packages/component-faraday-ui/package.json +++ b/packages/component-faraday-ui/package.json @@ -1,7 +1,7 @@ { - "name": "component-faraday-ui", - "version": "1.0.0", - "main": "index.js", + "name": "pubsweet-component-faraday-ui", + "version": "0.0.1", + "main": "src", "license": "MIT", "dependencies": { "@pubsweet/ui": "^8.3.0", diff --git a/packages/component-faraday-ui/src/AppBar.js b/packages/component-faraday-ui/src/AppBar.js index 22e54a393..8c4d28442 100644 --- a/packages/component-faraday-ui/src/AppBar.js +++ b/packages/component-faraday-ui/src/AppBar.js @@ -9,14 +9,14 @@ const AppBar = ({ menu: Menu, fixed = true, autosave: Autosave, - journal: { backgroundImage, name }, + journal: { metadata: { backgroundImage, nameText } }, }) => ( <Root fixed={fixed}> {backgroundImage && <JournalBackground img={backgroundImage} />} <LogoContainer> <Logo /> </LogoContainer> - <H2>{name}</H2> + <H2>{nameText}</H2> <RightContainer> <Autosave /> <Menu /> diff --git a/packages/component-faraday-ui/src/AppBar.md b/packages/component-faraday-ui/src/AppBar.md index 998fc578b..6ff9d430f 100644 --- a/packages/component-faraday-ui/src/AppBar.md +++ b/packages/component-faraday-ui/src/AppBar.md @@ -2,8 +2,8 @@ A sticky app bar. For demo purposes it's not fixed to the top at the moment. ```js const currentUser = { - admin: true, user: { + admin: true, username: 'cocojambo', firstName: 'Alex', lastName: 'Munteanu' @@ -36,8 +36,10 @@ const AutosaveComponent = () => <AutosaveIndicator logo={HindawiLogo} menu={MenuComponent} journal={{ - name:'Chemistry Awesomeness', + metadata: { + nameText:'Chemistry Awesomeness', backgroundImage: 'https://images.hindawi.com/journals/jchem/jchem.banner.jpg' + }, }} fixed={false} /> @@ -47,8 +49,8 @@ Without a journal background. ```js const currentUser = { - admin: true, user: { + admin: true, username: 'cocojambo', firstName: 'Alex', lastName: 'Munteanu' @@ -82,7 +84,9 @@ const AutosaveComponent = () => <AutosaveIndicator logo={HindawiLogo} menu={MenuComponent} journal={{ - name:'Chemistry Awesomeness', + metadata: { + nameText:'Chemistry Awesomeness', + }, }} fixed={false} /> diff --git a/packages/component-faraday-ui/src/AppBarMenu.js b/packages/component-faraday-ui/src/AppBarMenu.js index 935917798..7ab755a7b 100644 --- a/packages/component-faraday-ui/src/AppBarMenu.js +++ b/packages/component-faraday-ui/src/AppBarMenu.js @@ -32,7 +32,7 @@ const AppBarMenu = ({ {expanded && ( <Dropdown> <DropdownOption onClick={goTo('/profile')}>My profile</DropdownOption> - {currentUser.admin && ( + {currentUser.user.admin && ( <DropdownOption onClick={goTo('/admin')}> Admin dashboard </DropdownOption> @@ -97,7 +97,7 @@ const DropdownOption = styled.div` font-size: ${th('fontSizeBase')}; line-height: ${th('lineHeightBase')}; - height: calc(${th('gridUnit')} * 2); + height: calc(${th('gridUnit')} * 3); padding: ${th('gridUnit')}; &:hover { diff --git a/packages/component-faraday-ui/src/index.js b/packages/component-faraday-ui/src/index.js new file mode 100644 index 000000000..bcc278399 --- /dev/null +++ b/packages/component-faraday-ui/src/index.js @@ -0,0 +1,18 @@ +export { default as AppBar } from './AppBar' +export { default as AppBarMenu } from './AppBarMenu' +export { default as AuthorCard } from './AuthorCard' +export { default as AuthorTag } from './AuthorTag' +export { default as AuthorTagList } from './AuthorTagList' +export { default as AutosaveIndicator } from './AutosaveIndicator' +export { default as ContextualBox } from './ContextualBox' +export { default as File } from './File' +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 PersonInfo } from './PersonInfo' +export { default as Tag } from './Tag' +export { default as Text } from './Text' + +// modals +export * from './modals' diff --git a/packages/component-faraday-ui/src/modals/index.js b/packages/component-faraday-ui/src/modals/index.js new file mode 100644 index 000000000..54028bc35 --- /dev/null +++ b/packages/component-faraday-ui/src/modals/index.js @@ -0,0 +1,2 @@ +export { default as MultiAction } from './MultiAction' +export { default as SingleActionModal } from './SingleActionModal' diff --git a/packages/hindawi-theme/src/index.js b/packages/hindawi-theme/src/index.js index 95183e51b..c315a2991 100644 --- a/packages/hindawi-theme/src/index.js +++ b/packages/hindawi-theme/src/index.js @@ -42,7 +42,7 @@ const hindawiTheme = { appBar: { colorBackground: '#ffffff', height: '60px', - boxShadow: '0 1px 2px 1px #dbdbdb', + boxShadow: '0 2px 3px 0 rgba(25, 102, 141, 0.19)', }, accordion: { diff --git a/packages/xpub-faraday/app/FaradayApp.js b/packages/xpub-faraday/app/FaradayApp.js index 59270cab7..2e128f500 100644 --- a/packages/xpub-faraday/app/FaradayApp.js +++ b/packages/xpub-faraday/app/FaradayApp.js @@ -1,24 +1,26 @@ import React from 'react' -import { compose } from 'recompose' import { connect } from 'react-redux' import styled from 'styled-components' import { actions } from 'pubsweet-client' import { withJournal } from 'xpub-journal' -import { AppBar } from 'pubsweet-components-faraday/src/components' +import { withRouter } from 'react-router-dom' +import { compose, withHandlers } from 'recompose' +import { AppBar, Logo, AppBarMenu } from 'pubsweet-component-faraday-ui' -const App = ({ - journal, - children, - logoutUser, - currentUser, - isAuthenticated, -}) => ( +const App = ({ journal, goTo, children, logout, currentUser }) => ( <Root className="faraday-root"> <AppBar - brand={journal.metadata.name} - isAuthenticated={isAuthenticated} - onLogoutClick={logoutUser} - user={currentUser} + journal={journal} + logo={() => ( + <Logo + onClick={() => goTo('/')} + src={journal.metadata.logo} + title="Hindawi" + /> + )} + menu={() => ( + <AppBarMenu currentUser={currentUser} goTo={goTo} logout={logout} /> + )} /> <MainContainer className="faraday-main">{children}</MainContainer> </Root> @@ -27,12 +29,17 @@ const App = ({ export default compose( connect( state => ({ - currentUser: state.currentUser.user, - isAuthenticated: state.currentUser.isAuthenticated, + currentUser: state.currentUser, }), - { logoutUser: actions.logoutUser }, + { logout: actions.logoutUser }, ), withJournal, + withRouter, + withHandlers({ + goTo: ({ history }) => path => { + history.push(path) + }, + }), )(App) const Root = styled.div` -- GitLab