diff --git a/src/App.js b/src/App.js index 9cc38cd..7d964c2 100644 --- a/src/App.js +++ b/src/App.js @@ -14,6 +14,7 @@ import Year from "./components/screens/Year" import User from "./components/screens/User" import Login from "./components/screens/Login" import Register from "./components/screens/Register" +import PrivateRoute from "./components/PrivateRoute" import { withAuthentication } from "./components/session" import { withFirebase } from "./components/firebase" @@ -63,7 +64,9 @@ class App extends Component { } render() { - const { selectedTheme } = this.state + const { selectedTheme, authUser } = this.state + const { authUser: propAuthUser } = this.props + const authed = !!propAuthUser || !!authUser const currentTheme = theme[selectedTheme] return ( @@ -71,13 +74,20 @@ class App extends Component { - - + - ( +const Icon = ({ name, tabindex, label, ...rest }) => ( + {label && ( + + {label} + + )} + {name === "ArrowRightCircle" && } + {name === "ArrowRight" && } {name === "Book" && } {name === "Calendar" && } {name === "ChevronLeft" && } {name === "ChevronRight" && } {name === "Circle" && } {name === "Edit2" && } + {name === "LogIn" && } {name === "Moon" && } {name === "Sun" && } {name === "User" && } diff --git a/src/components/Navbar/Navbar.js b/src/components/Navbar/Navbar.js index 2266cab..ad5a344 100644 --- a/src/components/Navbar/Navbar.js +++ b/src/components/Navbar/Navbar.js @@ -1,6 +1,8 @@ import React from "react" import { StyledLink as Link } from "../elements" import styled from "@emotion/styled" +/** @jsx jsx */ +import { jsx, css } from "@emotion/core" import { compose } from "recompose" import { withTheme } from "emotion-theming" @@ -82,9 +84,11 @@ const Navbar = ({ authUser, theme, toggleTheme }) => ( ) : ( - Landing - Login - Register + {/* Landing */} + + + + {/* Register */} )} diff --git a/src/components/PrivateRoute/PrivateRoute.js b/src/components/PrivateRoute/PrivateRoute.js new file mode 100644 index 0000000..b991987 --- /dev/null +++ b/src/components/PrivateRoute/PrivateRoute.js @@ -0,0 +1,21 @@ +import React, { Component } from "react" +import { Route, Redirect } from "react-router-dom" + +const PrivateRoute = ({ component: Component, authed, ...rest }) => { + return ( + + authed === true ? ( + + ) : ( + + ) + } + /> + ) +} + +export default PrivateRoute diff --git a/src/components/PrivateRoute/index.js b/src/components/PrivateRoute/index.js new file mode 100644 index 0000000..345d794 --- /dev/null +++ b/src/components/PrivateRoute/index.js @@ -0,0 +1,2 @@ +import PrivateRoute from "./PrivateRoute" +export default PrivateRoute