diff --git a/package.json b/package.json index 7f6d4a8..f698cd2 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "localstoragedb": "^2.3.2", "react": "^16.12.0", "react-dom": "^16.12.0", + "react-icons": "^3.11.0", "react-router-dom": "^5.1.2", "react-scripts": "3.2.0" }, @@ -33,5 +34,8 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "prettier": "^2.1.2" } } diff --git a/src/App.js b/src/App.js index 57ef9cf..9da5da3 100644 --- a/src/App.js +++ b/src/App.js @@ -1,10 +1,43 @@ -import React from "react" -import { BrowserRouter as Router, Switch, Route } from "react-router-dom" -import { ThemeProvider, theme, CSSReset } from "@chakra-ui/core" -import LoginWrapper from "./auth/LoginWrapper" -import LogoutPage from "./auth/LogoutPage" -import Frame from "./ui/Frame" -import Home from "./Home" +import React from "react"; +import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; +import { ThemeProvider, theme, CSSReset } from "@chakra-ui/core"; +import LoginWrapper from "./auth/LoginWrapper"; +import LogoutPage from "./auth/LogoutPage"; +import Frame from "./ui/Frame"; +import Settings from "./pages/Settings"; +import Founders from "./pages/Founders"; + +const OnboardingApp = ({ username, logout }) => ( + + + + + + + + + + +); + +const OnboardedApp = ({ username, logout }) => ( + + + + + + + + + + + + + + + + +); function App() { return ( @@ -12,22 +45,17 @@ function App() { - {({ username, logout }) => ( - - - - - - - - - - - )} + {({ username, logout, onboarded }) => + onboarded ? ( + + ) : ( + + ) + } - ) + ); } -export default App +export default App; diff --git a/src/Home.js b/src/Home.js deleted file mode 100644 index 0a2d19e..0000000 --- a/src/Home.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react' -import Card from './ui/Card' -import DataAccessDemo from './features/DemoDataAccess' - -const Home = ({username}) => { - return - - -} - -export default Home - - - - \ No newline at end of file diff --git a/src/auth/LoginWrapper.js b/src/auth/LoginWrapper.js index c5d5f40..2ad289e 100644 --- a/src/auth/LoginWrapper.js +++ b/src/auth/LoginWrapper.js @@ -1,4 +1,4 @@ -import React from "react" +import React from "react"; import { Box, Flex, @@ -7,29 +7,37 @@ import { Button, FormControl, FormLabel, - FormHelperText -} from "@chakra-ui/core" -import Header from "../ui/Header" + FormHelperText, +} from "@chakra-ui/core"; +import Header from "../ui/Header"; +import db from "../data/database"; export default class LoginWrapper extends React.Component { - state = { username: localStorage.getItem("username") || null } + state = { + username: localStorage.getItem("username") || null, + }; - login = username => { - localStorage.setItem("username", username) - this.setState({ username: username }) - } + login = (username) => { + localStorage.setItem("username", username); + this.setState({ username: username }); + }; logout = () => { - localStorage.removeItem("username") - this.setState({ username: undefined }) - } + localStorage.removeItem("username"); + this.setState({ username: undefined }); + }; render() { - let { username } = this.state - let inputRef = React.createRef() + let { username } = this.state; + let inputRef = React.createRef(); // If we are logged in, then pass the username to the children. if (username) { - return this.props.children({ username, logout: this.logout }) + const results = db.queryAll("founders", { query: { username } }); + return this.props.children({ + username, + logout: this.logout, + onboarded: results.length > 0, + }); } // Otherwise, show a login form. @@ -39,7 +47,6 @@ export default class LoginWrapper extends React.Component {
- Username - - - Your email, or literally anything - + Username + + Your email, or literally anything