diff --git a/src/App.tsx b/src/App.tsx index 65acb82ffdf9d89f8fa3d5e9298dd221fbc4c0d0..0a7b221e86417816a42e8a0da01c47456ad858d1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,15 +3,16 @@ import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'; import { HomePage } from 'components/HomePage/HomePage'; import { AuthUser } from 'components/AuthUser/AuthUser'; import { LandingPage } from 'components/LandingPage/LandingPage'; -import { PrivateRoute } from 'components/utils/PrivateRoute/PrivateRoute'; +import { PrivateRoute } from 'components/api/PrivateRoute/PrivateRoute'; +import { AuthRoutes, NonAuthRoutes } from 'components/api/routes'; export const App: FC = () => ( <Router> <div data-testid="App"> <Switch> - <Route path="/auth" component={AuthUser} /> - <Route exact path="/" component={LandingPage} /> - <PrivateRoute path="/home" Component={HomePage} /> + <Route path={NonAuthRoutes.login} component={AuthUser} /> + <Route exact path={NonAuthRoutes.home} component={LandingPage} /> + <PrivateRoute path={AuthRoutes.dashboard} Component={HomePage} /> </Switch> </div> </Router> diff --git a/src/components/LandingPage/LandingPage.tsx b/src/components/LandingPage/LandingPage.tsx index 01cd0fe5da4c0a187e8f8e8e12fa68afe43bb75a..df5cc0b53af919c30d511576ac898abbd1b50ce6 100644 --- a/src/components/LandingPage/LandingPage.tsx +++ b/src/components/LandingPage/LandingPage.tsx @@ -1,11 +1,12 @@ import React, { FC } from 'react'; import Button from '@material-ui/core/Button'; import { Link } from 'react-router-dom'; +import { NonAuthRoutes } from 'components/api/routes'; export const LandingPage: FC = () => ( <> <Button variant="contained"> - <Link to="/auth">Login</Link> + <Link to={NonAuthRoutes.login}>Login</Link> </Button> <section> <h2>What is MoveAid?</h2> diff --git a/src/components/utils/PrivateRoute/PrivateRoute.tsx b/src/components/api/PrivateRoute/PrivateRoute.tsx similarity index 89% rename from src/components/utils/PrivateRoute/PrivateRoute.tsx rename to src/components/api/PrivateRoute/PrivateRoute.tsx index 9492da915b31623b2f5c226403361f3c10f40078..89c5962bfc29c5d79a961e6b47f555fae77c7aa3 100644 --- a/src/components/utils/PrivateRoute/PrivateRoute.tsx +++ b/src/components/api/PrivateRoute/PrivateRoute.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { Route, Redirect, RouteProps } from 'react-router-dom'; +import { NonAuthRoutes } from 'components/api/routes'; /** * A wrapper for <Route> that redirects to the login screen if you're not yet authenticated. @@ -24,7 +25,7 @@ export const PrivateRoute = ({ Component, path }: Props): JSX.Element => { ) : ( <Redirect to={{ - pathname: '/auth', + pathname: NonAuthRoutes.login, state: { message, requestedPath: path, diff --git a/src/components/api/routes.ts b/src/components/api/routes.ts new file mode 100644 index 0000000000000000000000000000000000000000..52ee5982734df8730522c6ee2199b15419da4e74 --- /dev/null +++ b/src/components/api/routes.ts @@ -0,0 +1,10 @@ +export enum AuthRoutes { + dashboard = '/dashboard', + account = '/account', +} + +export enum NonAuthRoutes { + home = '/', + login = '/login', + unauthorized = '/unauthorized', +}