# All files / src/containers/Viz Viz.tsx

0% Statements 0/18
100% Branches 0/0
0% Functions 0/5
0% Lines 0/14

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

     import type { Page } from '@cutting/util';
    import type { FC } from 'react';
    import { Redirect, Route, Switch, useRouteMatch } from 'react-router';
    import * as Urls from 'src/urls';
    import loadable from '@loadable/component';
    import { fallback } from 'src/components/Fallback/Fallback';
    import { MathJaxProvider } from '@cutting/use-mathjax';

    const Sine = loadable(() => import('src/components/Sine/Sine'), {
      fallback,
    });

    const routes: Page[] = [{ heading: 'Sine wave', path: Urls.Sine, component: Sine, exact: true }];

    const Default = () => <Redirect to={Urls.Sine} />;

    export const Viz: FC = () => {
      const { path: currentPath } = useRouteMatch();

      return (
        <MathJaxProvider>
          <Switch>
            {routes.map(({ path, ...rest }) => {
              return <Route key={path} path={path} {...rest} />;
            })}
            <Route path={currentPath} component={Default} exact />
          </Switch>
        </MathJaxProvider>
      );
    };

    export default Viz;