From 4174ad81fd3c2d66574b8295888d659fd7d507ce Mon Sep 17 00:00:00 2001 From: Ruidy Nemausat Date: Fri, 24 Apr 2020 20:47:53 +0200 Subject: [PATCH] use redux for PrivateRoute --- client/src/components/App/index.jsx | 16 ++++----- client/src/components/MainNavbar/index.jsx | 17 ++++------ client/src/routes/PrivateRoute.jsx | 38 +++++++++++++++------- client/src/store/sessionSlice.js | 1 + 4 files changed, 42 insertions(+), 30 deletions(-) diff --git a/client/src/components/App/index.jsx b/client/src/components/App/index.jsx index ed5fe29..4e312bc 100644 --- a/client/src/components/App/index.jsx +++ b/client/src/components/App/index.jsx @@ -6,18 +6,18 @@ import MainRouter from "../../routes"; const App = () => { // for testing only. Transfer Session to store. - const [authUser, setAuthUser] = useState(null); - const firebase = useFirebase(); + // const [authUser, setAuthUser] = useState(null); + // const firebase = useFirebase(); - useEffect(() => { - firebase.auth.onAuthStateChanged((authUser) => - authUser ? setAuthUser(authUser) : setAuthUser(null) - ); - }, [firebase.auth]); + // useEffect(() => { + // firebase.auth.onAuthStateChanged((authUser) => + // authUser ? setAuthUser(authUser) : setAuthUser(null) + // ); + // }, [firebase.auth]); return ( - + ); diff --git a/client/src/components/MainNavbar/index.jsx b/client/src/components/MainNavbar/index.jsx index 8626803..8a9837b 100644 --- a/client/src/components/MainNavbar/index.jsx +++ b/client/src/components/MainNavbar/index.jsx @@ -1,7 +1,6 @@ import React, { useState, useEffect } from "react"; import { Link } from "react-router-dom"; import { useSelector, useDispatch } from "react-redux"; -import PropTypes from "prop-types"; import { Collapse, Container, @@ -12,16 +11,16 @@ import { NavItem, NavLink, } from "reactstrap"; +import { selectLoggedIn, getAuthUserAsync } from "../../store/sessionSlice"; import SignOutButton from "../SignOutButton"; import * as ROUTES from "../../constants/routes"; -import { selectLoggedIn, getAuthUserAsync } from "../../store/sessionSlice"; -//{ authUser } const MainNavbar = () => { const [isOpen, setIsOpen] = useState(false); const toggle = () => setIsOpen(!isOpen); - const authUser = useSelector(selectLoggedIn); + //fetch logIn status from store + const isAuthenticated = useSelector(selectLoggedIn); const dispatch = useDispatch(); useEffect(() => { @@ -32,12 +31,12 @@ const MainNavbar = () => { - App + App