diff --git a/src/components/AuthUser/AuthUser.tsx b/src/components/Auth/Auth.tsx similarity index 69% rename from src/components/AuthUser/AuthUser.tsx rename to src/components/Auth/Auth.tsx index 2206e221488202e33fad82d0c84258812c9355f9..bd5dd6d8f45438dd7cc6eac1628953f7812e4360 100644 --- a/src/components/AuthUser/AuthUser.tsx +++ b/src/components/Auth/Auth.tsx @@ -2,10 +2,9 @@ import React, { FC } from 'react'; import Container from '@material-ui/core/Container'; import { Redirect, Route, useRouteMatch } from 'react-router-dom'; import { AuthRoutes, NonAuthRoutes } from 'api/routes'; -import { SignInForm } from 'components/AuthUser/SignInForm/SignInForm'; -import { SignUpForm } from 'components/AuthUser/SignUpForm/SignUpForm'; -import { ChoseRole } from 'components/AuthUser/ChoseRole/ChoseRole'; -import { RestrictedRoute } from 'components/RestrictedRoute/RestrictedRoute'; +import { ChoseRole } from 'components/Auth/ChoseRole/ChoseRole'; +import { SignInForm } from 'components/Auth/SignInForm/SignInForm'; +import { SignUpForm } from 'components/Auth/SignUpForm/SignUpForm'; /** * Keeps all components related to SignIn/SignOut logic. diff --git a/src/components/AuthUser/AuthContext.tsx b/src/components/Auth/AuthContext.tsx similarity index 100% rename from src/components/AuthUser/AuthContext.tsx rename to src/components/Auth/AuthContext.tsx diff --git a/src/components/AuthUser/ChoseRole/ChoseRole.md b/src/components/Auth/ChoseRole/ChoseRole.md similarity index 100% rename from src/components/AuthUser/ChoseRole/ChoseRole.md rename to src/components/Auth/ChoseRole/ChoseRole.md diff --git a/src/components/AuthUser/ChoseRole/ChoseRole.test.tsx b/src/components/Auth/ChoseRole/ChoseRole.test.tsx similarity index 100% rename from src/components/AuthUser/ChoseRole/ChoseRole.test.tsx rename to src/components/Auth/ChoseRole/ChoseRole.test.tsx diff --git a/src/components/AuthUser/ChoseRole/ChoseRole.tsx b/src/components/Auth/ChoseRole/ChoseRole.tsx similarity index 100% rename from src/components/AuthUser/ChoseRole/ChoseRole.tsx rename to src/components/Auth/ChoseRole/ChoseRole.tsx diff --git a/src/components/AuthUser/InputField/InputField.md b/src/components/Auth/InputField/InputField.md similarity index 100% rename from src/components/AuthUser/InputField/InputField.md rename to src/components/Auth/InputField/InputField.md diff --git a/src/components/AuthUser/InputField/InputField.tsx b/src/components/Auth/InputField/InputField.tsx similarity index 100% rename from src/components/AuthUser/InputField/InputField.tsx rename to src/components/Auth/InputField/InputField.tsx diff --git a/src/components/AuthUser/SignInForm/CredentialsType.ts b/src/components/Auth/SignInForm/CredentialsType.ts similarity index 100% rename from src/components/AuthUser/SignInForm/CredentialsType.ts rename to src/components/Auth/SignInForm/CredentialsType.ts diff --git a/src/components/AuthUser/SignInForm/SignInForm.md b/src/components/Auth/SignInForm/SignInForm.md similarity index 100% rename from src/components/AuthUser/SignInForm/SignInForm.md rename to src/components/Auth/SignInForm/SignInForm.md diff --git a/src/components/AuthUser/SignInForm/SignInForm.test.tsx b/src/components/Auth/SignInForm/SignInForm.test.tsx similarity index 100% rename from src/components/AuthUser/SignInForm/SignInForm.test.tsx rename to src/components/Auth/SignInForm/SignInForm.test.tsx diff --git a/src/components/AuthUser/SignInForm/SignInForm.tsx b/src/components/Auth/SignInForm/SignInForm.tsx similarity index 95% rename from src/components/AuthUser/SignInForm/SignInForm.tsx rename to src/components/Auth/SignInForm/SignInForm.tsx index 8d9d8be38f17394c0182967a94ffea9639102b28..014067d7c675df9ccb60e8982fa18e44f5e04dcd 100644 --- a/src/components/AuthUser/SignInForm/SignInForm.tsx +++ b/src/components/Auth/SignInForm/SignInForm.tsx @@ -2,11 +2,11 @@ import React, { FC, useCallback, useContext, useState } from 'react'; import axios from 'axios'; import { SubmitHandler, useForm } from 'react-hook-form'; import { Button } from '@material-ui/core'; -import { InputField } from 'components/AuthUser/InputField/InputField'; import { useHistory } from 'react-router-dom'; import { AuthRoutes, NonAuthRoutes } from 'api/routes'; -import { AuthContext } from 'components/AuthUser/AuthContext'; import { fetchCookie } from 'api/fetchCookie'; +import { AuthContext } from 'components/Auth/AuthContext'; +import { InputField } from 'components/Auth/InputField/InputField'; import { useStyles } from './useStyles'; import { CredentialsType } from './CredentialsType'; diff --git a/src/components/AuthUser/SignInForm/postCredentials.ts b/src/components/Auth/SignInForm/postCredentials.ts similarity index 100% rename from src/components/AuthUser/SignInForm/postCredentials.ts rename to src/components/Auth/SignInForm/postCredentials.ts diff --git a/src/components/AuthUser/SignInForm/useStyles.ts b/src/components/Auth/SignInForm/useStyles.ts similarity index 100% rename from src/components/AuthUser/SignInForm/useStyles.ts rename to src/components/Auth/SignInForm/useStyles.ts diff --git a/src/components/AuthUser/SignUpForm/SignUpForm.md b/src/components/Auth/SignUpForm/SignUpForm.md similarity index 100% rename from src/components/AuthUser/SignUpForm/SignUpForm.md rename to src/components/Auth/SignUpForm/SignUpForm.md diff --git a/src/components/AuthUser/SignUpForm/SignUpForm.test.tsx b/src/components/Auth/SignUpForm/SignUpForm.test.tsx similarity index 100% rename from src/components/AuthUser/SignUpForm/SignUpForm.test.tsx rename to src/components/Auth/SignUpForm/SignUpForm.test.tsx diff --git a/src/components/AuthUser/SignUpForm/SignUpForm.tsx b/src/components/Auth/SignUpForm/SignUpForm.tsx similarity index 97% rename from src/components/AuthUser/SignUpForm/SignUpForm.tsx rename to src/components/Auth/SignUpForm/SignUpForm.tsx index 0cf10dcf6197041be8469483c4536807e9956ec7..055cb9dfd6a65782251a65b9cd08e28ab8b34e0c 100644 --- a/src/components/AuthUser/SignUpForm/SignUpForm.tsx +++ b/src/components/Auth/SignUpForm/SignUpForm.tsx @@ -1,9 +1,10 @@ import React, { FC } from 'react'; import { SubmitHandler, useForm } from 'react-hook-form'; import { Button } from '@material-ui/core'; -import { InputField } from 'components/AuthUser/InputField/InputField'; -import { useStyles } from 'components/AuthUser/SignUpForm/useStyles'; + import axios from 'axios'; +import { InputField } from 'components/Auth/InputField/InputField'; +import { useStyles } from 'components/Auth/SignUpForm/useStyles'; // TODO: Data validation // TODO: Replace notes with big input field export const SignUpForm: FC = () => { diff --git a/src/components/AuthUser/SignUpForm/useStyles.ts b/src/components/Auth/SignUpForm/useStyles.ts similarity index 100% rename from src/components/AuthUser/SignUpForm/useStyles.ts rename to src/components/Auth/SignUpForm/useStyles.ts diff --git a/src/components/Authorization/Authorization.tsx b/src/components/Authorization/Authorization.tsx index f00d076bf5d28f823a7c39740064483a75d13445..cfe2ea8f8f01dc5709d6c2c03930714bead84053 100644 --- a/src/components/Authorization/Authorization.tsx +++ b/src/components/Authorization/Authorization.tsx @@ -1,12 +1,9 @@ import React, { ComponentType, FC, useContext } from 'react'; import { BlurCircular } from '@material-ui/icons'; import { NonAuthRoutes } from 'api/routes'; -import { AuthContext } from 'components/AuthUser/AuthContext'; -import { Unauthorized } from 'components/NonAuthUser/Unauthorized/Unauthorized'; -import { useAuth } from 'hooks/useAuth'; -import { useRole } from 'hooks/useRole'; import { Redirect } from 'react-router-dom'; -import { CircularProgressClassKey } from '@material-ui/core'; +import { Unauthorized } from 'components/Unauthorized/Unauthorized'; +import { AuthContext } from 'components/Auth/AuthContext'; const HandleIsAuth: FC<{ isAuth: boolean }> = ({ isAuth }) => isAuth ? ( diff --git a/src/components/AuthUser/Dashboard/Dashboard.tsx b/src/components/Dashboard/Dashboard.tsx similarity index 68% rename from src/components/AuthUser/Dashboard/Dashboard.tsx rename to src/components/Dashboard/Dashboard.tsx index 5e0c5895bc303b31e5becefb0f61fa023d9bc9c3..4453cc5ef571c2c7d356fce1bf1579767f11c72a 100644 --- a/src/components/AuthUser/Dashboard/Dashboard.tsx +++ b/src/components/Dashboard/Dashboard.tsx @@ -2,9 +2,9 @@ import React, { FC } from 'react'; import Container from '@material-ui/core/Container'; import { Route, useRouteMatch } from 'react-router-dom'; import { AuthRoutes } from 'api/routes'; -import { HomePage } from 'components/AuthUser/Dashboard/HomePage/HomePage'; -import { ProfilePage } from 'components/AuthUser/Dashboard/ProfilePage/ProfilePage'; -import { ReservationPage } from 'components/AuthUser/Dashboard/ReservationPage/ReservationPage'; +import { HomePage } from './HomePage/HomePage'; +import { ProfilePage } from './ProfilePage/ProfilePage'; +import { ReservationPage } from './ReservationPage/ReservationPage'; export const Dashboard: FC = () => { const { path } = useRouteMatch(); diff --git a/src/components/AuthUser/Dashboard/HomePage/HomePage.tsx b/src/components/Dashboard/HomePage/HomePage.tsx similarity index 85% rename from src/components/AuthUser/Dashboard/HomePage/HomePage.tsx rename to src/components/Dashboard/HomePage/HomePage.tsx index 49e246d6dd5795cf7e1f523bf0d967eff06fc57a..f472faaa7462563dcbbe01f4af7492996a383fea 100644 --- a/src/components/AuthUser/Dashboard/HomePage/HomePage.tsx +++ b/src/components/Dashboard/HomePage/HomePage.tsx @@ -10,12 +10,11 @@ import { MuiThemeProvider, Container, } from '@material-ui/core'; -import { MapElement } from 'components/AuthUser/Dashboard/HomePage/MapElement'; -import { NavBarLogin } from 'components/AuthUser/Dashboard/HomePage/NavBarLogin'; -import { Numbers } from 'components/AuthUser/Dashboard/HomePage/Numbers'; -import { Steps } from 'components/AuthUser/Dashboard/HomePage/Steps'; -import { NavBar } from 'components/AuthUser/Dashboard/HomePage/NavBar'; -import { Reservation } from 'components/AuthUser/Dashboard/ReservationPage/Reservation/Reservation'; +import { MapElement } from 'components/Dashboard/HomePage/MapElement'; +import { NavBar } from 'components/Dashboard/HomePage/NavBar'; +import { Numbers } from 'components/Dashboard/HomePage/Numbers'; +import { Steps } from 'components/Dashboard/HomePage/Steps'; +import { Reservation } from '../ReservationPage/Reservation/Reservation'; let themeResp = createMuiTheme(); themeResp = responsiveFontSizes(themeResp); diff --git a/src/components/AuthUser/Dashboard/HomePage/MapElement.tsx b/src/components/Dashboard/HomePage/MapElement.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/HomePage/MapElement.tsx rename to src/components/Dashboard/HomePage/MapElement.tsx diff --git a/src/components/AuthUser/Dashboard/HomePage/NavBar.tsx b/src/components/Dashboard/HomePage/NavBar.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/HomePage/NavBar.tsx rename to src/components/Dashboard/HomePage/NavBar.tsx diff --git a/src/components/AuthUser/Dashboard/HomePage/NavBarLogin.tsx b/src/components/Dashboard/HomePage/NavBarLogin.tsx similarity index 89% rename from src/components/AuthUser/Dashboard/HomePage/NavBarLogin.tsx rename to src/components/Dashboard/HomePage/NavBarLogin.tsx index b81244dc57a0854d76edbd50dd069e58e6286f93..e37413e0ddd4d1cd44a60f9eb517e09c0560ee5e 100644 --- a/src/components/AuthUser/Dashboard/HomePage/NavBarLogin.tsx +++ b/src/components/Dashboard/HomePage/NavBarLogin.tsx @@ -3,8 +3,8 @@ import { makeStyles } from '@material-ui/core/styles'; import { Tabs, Tab } from '@material-ui/core'; import LockIcon from '@material-ui/icons/Lock'; -import { Link, useHistory } from 'react-router-dom'; -import { NonAuthRoutes } from 'api/routes'; +import { useHistory } from 'react-router-dom'; +import { AuthRoutes } from 'api/routes'; const useStyles = makeStyles(() => ({ tabs: { @@ -53,7 +53,7 @@ export const NavBarLogin: FC = () => { TabIndicatorProps={{ style: { display: 'none' } }} > <Tab - value={`/auth${NonAuthRoutes.signIn}`} + value={`${AuthRoutes.dashboard}${AuthRoutes.home}`} label="Login" icon={<LockIcon className={classes.tabIcon} />} className={`${classes.tabPan} ${classes.rightAlign}`} diff --git a/src/components/AuthUser/Dashboard/HomePage/Numbers.tsx b/src/components/Dashboard/HomePage/Numbers.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/HomePage/Numbers.tsx rename to src/components/Dashboard/HomePage/Numbers.tsx diff --git a/src/components/AuthUser/Dashboard/HomePage/Steps.tsx b/src/components/Dashboard/HomePage/Steps.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/HomePage/Steps.tsx rename to src/components/Dashboard/HomePage/Steps.tsx diff --git a/src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.md b/src/components/Dashboard/ProfilePage/ProfilePage.md similarity index 100% rename from src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.md rename to src/components/Dashboard/ProfilePage/ProfilePage.md diff --git a/src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.test.tsx b/src/components/Dashboard/ProfilePage/ProfilePage.test.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.test.tsx rename to src/components/Dashboard/ProfilePage/ProfilePage.test.tsx diff --git a/src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.tsx b/src/components/Dashboard/ProfilePage/ProfilePage.tsx similarity index 60% rename from src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.tsx rename to src/components/Dashboard/ProfilePage/ProfilePage.tsx index 1f52c2442fb1a57c1f610d1348f6f32fa05fb228..2856a225f1f4fe806dece906f90bbd143a6f30a3 100644 --- a/src/components/AuthUser/Dashboard/ProfilePage/ProfilePage.tsx +++ b/src/components/Dashboard/ProfilePage/ProfilePage.tsx @@ -1,16 +1,18 @@ -import React, { FC } from 'react'; +import React, { FC, useContext } from 'react'; import Button from '@material-ui/core/Button'; import axios from 'axios'; import { NonAuthRoutes } from 'api/routes'; import { useHistory } from 'react-router-dom'; +import { AuthContext } from 'components/Auth/AuthContext'; export const ProfilePage: FC = () => { const history = useHistory(); - + const { setIsAuth } = useContext(AuthContext); const logout = (): void => { - axios - .get('/api/web/login/logout') - .then(() => history.replace(NonAuthRoutes.home)); + axios.get('/api/web/login/logout').then(() => { + setIsAuth(false); + history.replace(NonAuthRoutes.home); + }); }; return ( diff --git a/src/components/AuthUser/Dashboard/ReservationPage/Reservation/Reservation.tsx b/src/components/Dashboard/ReservationPage/Reservation/Reservation.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/ReservationPage/Reservation/Reservation.tsx rename to src/components/Dashboard/ReservationPage/Reservation/Reservation.tsx diff --git a/src/components/AuthUser/Dashboard/ReservationPage/ReservationPage.test.tsx b/src/components/Dashboard/ReservationPage/ReservationPage.test.tsx similarity index 100% rename from src/components/AuthUser/Dashboard/ReservationPage/ReservationPage.test.tsx rename to src/components/Dashboard/ReservationPage/ReservationPage.test.tsx diff --git a/src/components/AuthUser/Dashboard/ReservationPage/ReservationPage.tsx b/src/components/Dashboard/ReservationPage/ReservationPage.tsx similarity index 97% rename from src/components/AuthUser/Dashboard/ReservationPage/ReservationPage.tsx rename to src/components/Dashboard/ReservationPage/ReservationPage.tsx index 9e176c0334e8f86cf95391893e51a7d4676c8a48..a1672f155d13655f89eda368246cdad5d29f34fe 100644 --- a/src/components/AuthUser/Dashboard/ReservationPage/ReservationPage.tsx +++ b/src/components/Dashboard/ReservationPage/ReservationPage.tsx @@ -19,8 +19,8 @@ import { import AddIcon from '@material-ui/icons/Add'; import Fab from '@material-ui/core/Fab'; -import { Reservation } from 'components/AuthUser/Dashboard/ReservationPage/Reservation/Reservation'; -import { NavBar } from '../HomePage/NavBar'; +import { NavBar } from 'components/Dashboard/HomePage/NavBar'; +import { Reservation } from 'components/Dashboard/ReservationPage/Reservation/Reservation'; let themeResp = createMuiTheme(); themeResp = responsiveFontSizes(themeResp); diff --git a/src/components/NonAuthUser/LandingPage/LandingPage.tsx b/src/components/NonAuthUser/LandingPage/LandingPage.tsx deleted file mode 100644 index 2e7dc1da878f0f7f843f23ce9130b935d23c8319..0000000000000000000000000000000000000000 --- a/src/components/NonAuthUser/LandingPage/LandingPage.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import React, { FC } from 'react'; -import { makeStyles } from '@material-ui/core/styles'; -import { - CssBaseline, - Grid, - Typography, - Hidden, - createMuiTheme, - responsiveFontSizes, - MuiThemeProvider, - Container, -} from '@material-ui/core'; -import { MapElement } from 'components/AuthUser/Dashboard/HomePage/MapElement'; -import { NavBarLogin } from 'components/AuthUser/Dashboard/HomePage/NavBarLogin'; -import { Numbers } from 'components/AuthUser/Dashboard/HomePage/Numbers'; -import { Steps } from 'components/AuthUser/Dashboard/HomePage/Steps'; - -let themeResp = createMuiTheme(); -themeResp = responsiveFontSizes(themeResp); - -const useStyles = makeStyles(() => ({ - root: { - minHeight: '100vh', - backgroundImage: `url(${'/assets/bg3.png'})`, - backgroundRepeat: 'no-repeat', - backgroundSize: 'cover', - }, - rightAlign: { - marginLeft: 'auto', - }, - whiteText: { - color: 'white', - }, - imageIcon: { - maxHeight: '50%', - }, - paddingBottom: { - paddingBottom: '65px', - }, - paddingTop: { - paddingTop: '65px', - }, - bodyIcon: { - fontSize: '90px', - paddingBottom: '10px', - paddingTop: '10px', - }, - contIcon: { - width: '100%', - left: '0', - right: '0', - }, - noShadow: { - border: 'none', - boxShadow: 'none', - backgroundColor: 'transparent', - }, -})); - -export const LandingPage: FC = () => { - const classes = useStyles(); - - return ( - <Grid container direction="column" className={classes.paddingBottom}> - <div className={classes.root}> - <CssBaseline /> - - <Grid item> - <NavBarLogin /> - </Grid> - - <MuiThemeProvider theme={themeResp}> - <Grid item container className={classes.paddingBottom}> - <Grid item xs={1} md={2} lg={2} /> - - <Grid item xs={10} md={6} lg={4}> - <Typography variant="h2" className={classes.whiteText}> - Book Free Rides Now With - </Typography> - <Typography variant="h1" className={classes.whiteText}> - MOVE AID - </Typography> - </Grid> - - <Grid item xs={false} md={3} lg={5}> - <Hidden mdDown> - <Container> - <MapElement /> - </Container> - </Hidden> - </Grid> - - <Grid item xs={1} /> - </Grid> - - <Steps /> - </MuiThemeProvider> - </div> - - <Grid item container className={classes.paddingTop}> - <Grid item xs={2} /> - <Grid item xs={8}> - <Typography variant="h3" align="right"> - Some Our Numbers - </Typography> - </Grid> - <Grid item xs={2} /> - </Grid> - - <Numbers /> - </Grid> - ); -}; diff --git a/src/components/NonAuthUser/LandingPage/TeamPage.tsx b/src/components/NonAuthUser/LandingPage/TeamPage.tsx deleted file mode 100644 index b0a945e8347fdc1b4c1027ea1cf3a03df91eb95d..0000000000000000000000000000000000000000 --- a/src/components/NonAuthUser/LandingPage/TeamPage.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import React, { FC } from 'react'; - -export const TeamPage: FC = () => ( - <> - <section> - <h2>These are the students of the MoveAid project</h2> - - <div> - <h3>Alberto Defendi</h3> - <table> - <tr> - <td> </td> - <td> - <p> - Age: 19 <br /> - Role: Front End Developer - <br /> - Hobbys: Sports, maths - <br /> - </p> - </td> - </tr> - </table> - </div> - - <div> - <h3>Andrea Esposito</h3> - <table> - <tr> - <td> </td> - <td> - <p> - Age: 19 <br /> - Role: xxxxx - <br /> - Hobbys: xxxxxxxxx - <br /> - </p> - </td> - </tr> - </table> - </div> - - <div> - <h3>Marco Marinello</h3> - <table> - <tr> - <td> </td> - <td> - <p> - Age: 19 <br /> - Role: xxxxx - <br /> - Hobbys: xxxxxxxxx - <br /> - </p> - </td> - </tr> - </table> - </div> - - <div> - <h3>Francesco Mazzini</h3> - <table> - <tr> - <td> </td> - <td> - <p> - <strong>Age:</strong> 19 <br /> - <br /> - <strong>Role:</strong> Front End Developer - <br /> - <br /> - <strong>Hobbys:</strong> I like Graphic and Programing. - <br /> - I also like playing videogames, hanging out <br /> - with friends, watching tv series and <br /> - training in gym! - </p> - </td> - </tr> - </table> - </div> - </section> - </> -); diff --git a/src/components/NonAuthUser/LandingPage/assets/alberto.png b/src/components/NonAuthUser/LandingPage/assets/alberto.png deleted file mode 100644 index a4030b2bda405381ab60d5ba68b7ea7c057ebefe..0000000000000000000000000000000000000000 Binary files a/src/components/NonAuthUser/LandingPage/assets/alberto.png and /dev/null differ diff --git a/src/components/NonAuthUser/LandingPage/assets/logo04Circle.png b/src/components/NonAuthUser/LandingPage/assets/logo04Circle.png deleted file mode 100644 index 4e5a76b9f51d9580a7f6b6b78f076f0a4a821f48..0000000000000000000000000000000000000000 Binary files a/src/components/NonAuthUser/LandingPage/assets/logo04Circle.png and /dev/null differ diff --git a/src/components/NonAuthUser/LandingPage/assets/pp.jpg b/src/components/NonAuthUser/LandingPage/assets/pp.jpg deleted file mode 100644 index 593205f4d623a459904abdcfb13c8517e4ccf666..0000000000000000000000000000000000000000 Binary files a/src/components/NonAuthUser/LandingPage/assets/pp.jpg and /dev/null differ diff --git a/src/components/NonAuthUser/NotFound/NotFound.md b/src/components/NotFound/NotFound.md similarity index 100% rename from src/components/NonAuthUser/NotFound/NotFound.md rename to src/components/NotFound/NotFound.md diff --git a/src/components/NonAuthUser/NotFound/NotFound.test.tsx b/src/components/NotFound/NotFound.test.tsx similarity index 100% rename from src/components/NonAuthUser/NotFound/NotFound.test.tsx rename to src/components/NotFound/NotFound.test.tsx diff --git a/src/components/NonAuthUser/NotFound/NotFound.tsx b/src/components/NotFound/NotFound.tsx similarity index 100% rename from src/components/NonAuthUser/NotFound/NotFound.tsx rename to src/components/NotFound/NotFound.tsx diff --git a/src/components/PrivateRoute/PrivateRoute.tsx b/src/components/PrivateRoute/PrivateRoute.tsx deleted file mode 100644 index 6360e711b17e388405f7fec0a82d473278919ce0..0000000000000000000000000000000000000000 --- a/src/components/PrivateRoute/PrivateRoute.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import React, { useContext } from 'react'; -import { Route, Redirect, RouteProps } from 'react-router-dom'; -import { NonAuthRoutes } from 'api/routes'; -import { AuthContext } from 'components/AuthUser/AuthContext'; - -/** - * A wrapper for <Route> that redirects to the login screen if you're not yet authenticated. - * Every non-public route must be wrapped with this component. - * */ -type Props = { - Component: React.FC<RouteProps>; - path: string; - requiredRoles: string[]; -}; - -/* eslint-disable react/jsx-props-no-spreading */ -export const PrivateRoute = ({ - Component, - path, - requiredRoles, -}: Props): JSX.Element => { - const { role, isAuth } = useContext(AuthContext); - - // Check if the role is contained in the roles array (passed as props). - const userHasRequiredRole = requiredRoles.includes(role); - - const message = userHasRequiredRole - ? 'Please log in to view this page' - : 'Your role is not allowed'; - - return ( - <Route - exact={false} - path={path} - render={(props: RouteProps) => - isAuth && userHasRequiredRole ? ( - <Component {...props} /> - ) : ( - <Redirect - to={{ - pathname: !userHasRequiredRole - ? `${NonAuthRoutes.auth}${NonAuthRoutes.signIn}` - : NonAuthRoutes.unauthorized, - state: { - message, - requestedPath: path, - }, - }} - /> - ) - } - /> - ); -}; diff --git a/src/components/RestrictedRoute/RestrictedRoute.tsx b/src/components/RestrictedRoute/RestrictedRoute.tsx deleted file mode 100644 index 2f10632cba2b63271465c060ef4758144e250ea0..0000000000000000000000000000000000000000 --- a/src/components/RestrictedRoute/RestrictedRoute.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { Route, Redirect, RouteProps } from 'react-router-dom'; -import { AuthRoutes } from 'api/routes'; -import { isAuthenticated } from 'api/isAuthenticated'; -import { CircularProgress } from '@material-ui/core'; - -type Props = { - /** Children where the authenticated user will be redirected. */ - Component: React.FC<RouteProps>; - /** Path of the children. */ - path: string; -}; - -/** - * Wrapper for Route that basing on if the user is authenticated, - * redirects to: - * - Entry point of the private route (the homepage); - * - Login page. - */ - -/* eslint-disable react/jsx-props-no-spreading */ -export const RestrictedRoute = ({ Component, path }: Props): JSX.Element => { - const [isAuth, setIsAuth] = useState<boolean>(false); - const [isLoading, setLoading] = useState<boolean>(false); - - useEffect(() => { - isAuthenticated().then((res) => { - setIsAuth(res); - setLoading(true); - }); - }, [isAuth, setLoading]); - - return !isLoading ? ( - <CircularProgress /> - ) : ( - <Route - path={path} - render={(props: RouteProps) => - !isAuth ? ( - // Redirect to component. - <Component {...props} /> - ) : ( - // Redirect to homepage. - <Redirect - to={{ pathname: `${AuthRoutes.dashboard}${AuthRoutes.home}` }} - /> - ) - } - /> - ); -}; diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.md b/src/components/Unauthorized/Unauthorized.md similarity index 100% rename from src/components/NonAuthUser/Unauthorized/Unauthorized.md rename to src/components/Unauthorized/Unauthorized.md diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.test.tsx b/src/components/Unauthorized/Unauthorized.test.tsx similarity index 100% rename from src/components/NonAuthUser/Unauthorized/Unauthorized.test.tsx rename to src/components/Unauthorized/Unauthorized.test.tsx diff --git a/src/components/NonAuthUser/Unauthorized/Unauthorized.tsx b/src/components/Unauthorized/Unauthorized.tsx similarity index 100% rename from src/components/NonAuthUser/Unauthorized/Unauthorized.tsx rename to src/components/Unauthorized/Unauthorized.tsx