From 81c9db61bb315cc843a0b91a6c180d780048019f Mon Sep 17 00:00:00 2001 From: Ruidy Nemausat Date: Thu, 14 May 2020 17:39:10 +0200 Subject: [PATCH] use an enum for routes and statuses --- cypress/integration/router.spec.js | 24 ++++++++++++------------ package.json | 2 +- src/components/NavBar.tsx | 20 ++++++++++---------- src/constants/routes.ts | 28 ++++++++++++++++------------ src/pages/Dashboard.tsx | 8 ++++---- src/pages/EditProfile.tsx | 1 + src/pages/Landing.tsx | 6 +++--- src/pages/NotFound.tsx | 6 +++--- src/pages/SignIn.tsx | 6 +++--- src/pages/SignUp.tsx | 6 +++--- src/router/PrivateRoute.tsx | 4 ++-- src/router/Router.tsx | 24 ++++++++++++------------ yarn.lock | 8 ++++---- 13 files changed, 74 insertions(+), 69 deletions(-) diff --git a/cypress/integration/router.spec.js b/cypress/integration/router.spec.js index 95f5121..de84149 100644 --- a/cypress/integration/router.spec.js +++ b/cypress/integration/router.spec.js @@ -1,58 +1,58 @@ -import * as ROUTES from '../../src/constants/routes'; +import Routes from '../../src/constants/Routes'; describe('App Router', () => { it('contains Landing page', () => { - cy.visit(ROUTES.LANDING); + cy.visit(Routes.LANDING); cy.get('section'); }); it('contains SignUp page', () => { - cy.visit(ROUTES.SIGN_UP); + cy.visit(Routes.SIGN_UP); cy.get('section'); }); it('contains SignIn page', () => { - cy.visit(ROUTES.SIGN_IN); + cy.visit(Routes.SIGN_IN); cy.get('section'); }); it('contains Developers page', () => { - cy.visit(ROUTES.DEVELOPERS); + cy.visit(Routes.DEVELOPERS); cy.get('section'); }); it('contains Profile page', () => { - cy.visit(ROUTES.PROFILE); + cy.visit(Routes.PROFILE); cy.get('section'); }); it('contains Edit Profile page', () => { - cy.visit(ROUTES.EDIT_PROFILE); + cy.visit(Routes.EDIT_PROFILE); cy.get('section'); }); it('contains Add Experience page', () => { - cy.visit(ROUTES.ADD_EXPERIENCE); + cy.visit(Routes.ADD_EXPERIENCE); cy.get('section'); }); it('contains Add Education page', () => { - cy.visit(ROUTES.ADD_EDUCATION); + cy.visit(Routes.ADD_EDUCATION); cy.get('section'); }); it('contains Dashboard page', () => { - cy.visit(ROUTES.DASHBOARD); + cy.visit(Routes.DASHBOARD); cy.get('section'); }); it('contains Post page', () => { - cy.visit(ROUTES.POST); + cy.visit(Routes.POST); cy.get('section'); }); it('contains Posts page', () => { - cy.visit(ROUTES.POSTS); + cy.visit(Routes.POSTS); cy.get('section'); }); }); diff --git a/package.json b/package.json index 31db85a..8b26dce 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "react-router-dom": "^5.2.0", "react-scripts": "3.4.1", "redux-firestore": "^0.13.0", - "typescript": "~3.7.2" + "typescript": "^3.9.2" }, "scripts": { "start": "react-scripts start", diff --git a/src/components/NavBar.tsx b/src/components/NavBar.tsx index a17b763..606b0ff 100644 --- a/src/components/NavBar.tsx +++ b/src/components/NavBar.tsx @@ -1,7 +1,7 @@ import React, {FC} from 'react'; // Routing import {Link} from 'react-router-dom'; -import * as ROUTES from '../constants/routes'; +import Routes from '../constants/routes'; //Redux import {WithFirebaseProps} from 'react-redux-firebase'; import {enhance} from '../store/firebase'; @@ -17,23 +17,23 @@ interface IProps extends WithFirebaseProps { } /** - * Main Navbar serves navigation routes. + * Main Navbar serves navigation Routes. */ const NavBar: FC = ({firebase, isEmpty, isLoaded}) => { const publicLinks = (
  • - + Developers
  • - + Register
  • - + Login
  • @@ -43,24 +43,24 @@ const NavBar: FC = ({firebase, isEmpty, isLoaded}) => { const privateLinks = (
    • - + Developers
    • - + Posts
    • - + Dashboard
    • firebase.logout()} > @@ -77,7 +77,7 @@ const NavBar: FC = ({firebase, isEmpty, isLoaded}) => { return (