diff --git a/React/real-estate/src/App.js b/React/real-estate/src/App.js index 22afdca..6518197 100644 --- a/React/real-estate/src/App.js +++ b/React/real-estate/src/App.js @@ -10,25 +10,13 @@ import userManager, { loadUserFromStorage } from "./services/userService"; import AuthProvider from "./utils/authProvider"; import PrivateRoute from "./utils/protectedRoute"; import "./index.css"; -import { storeUser } from "./actions/authActions"; function App() { useEffect(() => { - // Commented out not to check the localStorage for the user's existence ** Temporary ** // fetch current user from cookies loadUserFromStorage(store); }, []); - // Should be removed ** Temporary ** - //const logUserIn = () => { - // const user = { profile: { given_name: "John Doe" } }; - // console.log(`User logged in!`); - // store.dispatch(storeUser(user)); - // }; - - // ** Temporary ** - // logUserIn(); - return ( diff --git a/React/real-estate/src/pages/components/VehicleRegisterForm.js b/React/real-estate/src/pages/components/VehicleRegisterForm.js index 6095da6..633f8fa 100644 --- a/React/real-estate/src/pages/components/VehicleRegisterForm.js +++ b/React/real-estate/src/pages/components/VehicleRegisterForm.js @@ -28,7 +28,7 @@ const VehicleRegisterForm = () => { } return ( - +
e.preventDefault()} className="m-0 flex flex-col"> Register Real Estate diff --git a/React/real-estate/src/pages/home.js b/React/real-estate/src/pages/home.js index 6aa5ebd..afac9b7 100644 --- a/React/real-estate/src/pages/home.js +++ b/React/real-estate/src/pages/home.js @@ -1,20 +1,18 @@ import React from "react"; -import { Switch, Route, BrowserRouter as Router } from "react-router-dom"; +import { Switch, Route } from "react-router-dom"; import RegisterVehicle from "./RegisterVehicle"; import YourVehicles from "./YourVehicles"; function Home() { return ( - - - - - - - - - - + + + + + + + + ); } diff --git a/React/real-estate/src/pages/login.js b/React/real-estate/src/pages/login.js index a49b8cd..cf22c0c 100644 --- a/React/real-estate/src/pages/login.js +++ b/React/real-estate/src/pages/login.js @@ -1,5 +1,5 @@ import React from "react"; -import { Redirect } from "react-router-dom"; +import { useLocation, useHistory } from "react-router-dom"; import { useSelector } from "react-redux"; import Navbar from "./components/Navbar"; import Main from "./components/Main"; @@ -8,13 +8,22 @@ import LoginWindow from "./components/LoginWindow"; function Login() { const user = useSelector((state) => state.auth.user); - return user ? ( - - ) : ( -
- -
-
+ const location = useLocation(); + const history = useHistory(); + + let { from } = location.state || { from: { pathname: "/" } }; + + if (user) { + history.replace(from); + } + + return ( + !user && ( +
+ +
+
+ ) ); } diff --git a/React/real-estate/src/utils/protectedRoute.js b/React/real-estate/src/utils/protectedRoute.js index 219f709..dd19878 100644 --- a/React/real-estate/src/utils/protectedRoute.js +++ b/React/real-estate/src/utils/protectedRoute.js @@ -1,13 +1,27 @@ -import React from 'react' -import { Route, Redirect } from 'react-router-dom' -import { useSelector } from 'react-redux' +import React from "react"; +import { Route, Redirect } from "react-router-dom"; +import { useSelector } from "react-redux"; function ProtectedRoute({ children, component: Component, ...rest }) { - const user = useSelector(state => state.auth.user) + const user = useSelector((state) => state.auth.user); - return user - ? () - : () + return ( + + user ? ( + + ) : ( + + ) + } + /> + ); } -export default ProtectedRoute \ No newline at end of file +export default ProtectedRoute;