diff --git a/client/package-lock.json b/client/package-lock.json index 6684ef7..15b0245 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -14043,12 +14043,6 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true - }, "v8-compile-cache": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", diff --git a/client/package.json b/client/package.json index 94f9cc7..73c2564 100644 --- a/client/package.json +++ b/client/package.json @@ -10,6 +10,7 @@ "axios": "^0.19.2", "bootstrap": "^4.4.1", "firebase": "^7.14.1", + "prop-types": "^15.7.2", "react": "^16.13.1", "react-dom": "^16.13.1", "react-jss": "^10.1.1", @@ -40,4 +41,4 @@ }, "proxy": "http://localhost:5000", "devDependencies": {} -} \ No newline at end of file +} diff --git a/client/src/components/App/index.jsx b/client/src/components/App/index.jsx index c42e9a1..7b84727 100644 --- a/client/src/components/App/index.jsx +++ b/client/src/components/App/index.jsx @@ -1,15 +1,26 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; import { BrowserRouter as Router } from "react-router-dom"; +import { useFirebase } from "../../services/auth"; import MainNavbar from "../MainNavbar"; import MainRouter from "../Router"; -function App() { +const App = () => { + // for testing only. Transfer Session to store. + const [authUser, setAuthUser] = useState(null); + const firebase = useFirebase(); + + useEffect(() => { + firebase.auth.onAuthStateChanged((authUser) => + authUser ? setAuthUser(authUser) : setAuthUser(null) + ); + }, [firebase.auth]); + return ( - + ); -} +}; export default App; diff --git a/client/src/components/MainNavbar/index.jsx b/client/src/components/MainNavbar/index.jsx index e20a415..57068cc 100644 --- a/client/src/components/MainNavbar/index.jsx +++ b/client/src/components/MainNavbar/index.jsx @@ -1,5 +1,6 @@ import React, { useState } from "react"; import { Link } from "react-router-dom"; +import PropTypes from "prop-types"; import { Collapse, Container, @@ -13,7 +14,7 @@ import { import SignOutButton from "../SignOutButton"; import * as ROUTES from "../../constants/routes"; -export default function MainNavbar() { +const MainNavbar = ({ authUser }) => { const [isOpen, setIsOpen] = useState(false); const toggle = () => setIsOpen(!isOpen); @@ -21,26 +22,18 @@ export default function MainNavbar() { - LandingPage + App @@ -65,4 +62,10 @@ export default function MainNavbar() { ); -} +}; + +MainNavbar.propTypes = { + authUser: PropTypes.any.isRequired, +}; + +export default MainNavbar;