All files / src/apps/concepts Routes.tsx

33.33% Statements 1/3
0% Branches 0/15
0% Functions 0/1
33.33% Lines 1/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64                                  1x                                                                                            
import React from "react";
import { Route, Switch, useRouteMatch } from "react-router-dom";
import {
  CreateOrEditConceptPage,
  ViewConceptPage,
  ViewConceptsPage
} from "./pages";
 
interface Props {
  viewConcepts?: boolean;
  newConcept?: boolean;
  viewConcept?: boolean;
  editConcept?: boolean;
  viewDictConcepts?: boolean;
  containerType: string;
}
 
const Routes: React.FC<Props> = ({
  containerType,
  viewConcepts = false,
  newConcept = false,
  viewConcept = false,
  editConcept = false,
  viewDictConcepts = false
}) => {
  let { path } = useRouteMatch();
 
  return (
    <Switch>
      {!viewConcepts ? null : (
        <Route exact path={`${path}/`}>
          <ViewConceptsPage
            key={containerType}
            containerType={containerType}
            viewDictConcepts={viewDictConcepts}
          />
        </Route>
      )}
      {!newConcept ? null : (
        <Route exact path={`${path}/new/`}>
          <CreateOrEditConceptPage />
        </Route>
      )}
      {!viewConcept ? null : (
        <Route exact path={`${path}/:concept/:version/`}>
          <ViewConceptPage />
        </Route>
      )}
      {!viewConcept ? null : (
        <Route exact path={`${path}/:concept/`}>
          <ViewConceptPage />
        </Route>
      )}
      {!editConcept ? null : (
        <Route exact path={`${path}/:concept/:version/edit/`}>
          <CreateOrEditConceptPage />
        </Route>
      )}
    </Switch>
  );
};
 
export default Routes;