From 37cbc6becd0b2ef04b55479826dffbf9fbc65809 Mon Sep 17 00:00:00 2001 From: John Lyon-Smith Date: Fri, 2 Mar 2018 11:58:33 -0800 Subject: [PATCH] Make HeaderButton able to have Icon or Image --- mobile/package.json | 2 +- website/src/App.js | 32 +++++++++++++++++++------------- website/src/ui/HeaderButton.js | 19 ++++++++++++++----- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/mobile/package.json b/mobile/package.json index d4dbdf4..e0ee839 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -8,7 +8,7 @@ "react-test-renderer": "16.2.0" }, "scripts": { - "start": "react-native start", + "bundler": "react-native start", "android": "react-native run-android", "ios": "react-native run-ios", "test": "node node_modules/jest/bin/jest.js" diff --git a/website/src/App.js b/website/src/App.js index 22c6158..2860619 100644 --- a/website/src/App.js +++ b/website/src/App.js @@ -1,9 +1,9 @@ -import React from 'react' +import React, { Component, Fragment } from 'react' import { Login, Logout, ResetPassword, ForgotPassword, ConfirmEmail, ProtectedRoute } from './Auth' import { Home } from './Home' import { Profile } from './Profile' import { Users } from './Users' -import { HeaderButton, Column, Row, Image, Text, Box } from 'ui' +import { HeaderButton, Column, Row, Text, Box } from 'ui' import { BrowserRouter as Router, Route, Switch } from 'react-router-dom' import logoImage from 'images/logo.png' import { versionInfo } from './version' @@ -11,7 +11,7 @@ import { sizeInfo } from 'ui/style' import { api } from 'src/API' import { reactAutoBind } from 'auto-bind2' -export class App extends React.Component { +export class App extends Component { constructor(props) { super(props) reactAutoBind(this) @@ -39,24 +39,30 @@ export class App extends React.Component { } render() { - const height = sizeInfo.headerHeight - sizeInfo.headerBorderWidth const { loggedInUser } = this.state + let headerButtonsRight = null + let headerButtonsLeft = null + + if (loggedInUser) { + headerButtonsLeft = ( + + ) + headerButtonsRight = ( + + + + + ) + } return ( - - - + {headerButtonsLeft} - - { loggedInUser && } - { loggedInUser && } - + {headerButtonsRight} diff --git a/website/src/ui/HeaderButton.js b/website/src/ui/HeaderButton.js index 8e80808..1326988 100644 --- a/website/src/ui/HeaderButton.js +++ b/website/src/ui/HeaderButton.js @@ -2,21 +2,30 @@ import Radium from 'radium' import PropTypes from 'prop-types' import React, { Component } from 'react' import style from './HeaderButton.style' -import { Icon } from 'ui' +import { Icon, Image } from '.' +import { sizeInfo } from 'ui/style' class HeaderButton extends Component { static propTypes = { - icon: PropTypes.string, onClick: PropTypes.func, - size: PropTypes.number + icon: PropTypes.string, + image: PropTypes.object, } render() { - const { onClick, icon, size } = this.props + const size = sizeInfo.headerHeight - sizeInfo.headerBorderWidth + const { onClick, icon, image } = this.props + let content = null + + if (image) { + content = () + } else if (icon) { + content = () + } return ( ) }