svet-pos-project-client / src / routes / index.tsx
index.tsx
Raw
import React from "react";
import { Redirect, Route, Switch } from "react-router-dom";
import SettingRoute from "./SettingRoute";
import SalesRoute from "./SalesRoute";
import UsersRoute from "./UsersRoute";
import ProductRoute from "./ProductsRoute";
import InventoryRoute from "./InventoryRoute";
import CustomersRoute from "./CustomersRoute";

import PrivateRoute from "./PrivateRoute.js";

function AppRoute() {
  return (
    <div>
      <Switch>
        <PrivateRoute
          component={SettingRoute}
          path={`${process.env.PUBLIC_URL}/settings`}
          allowedRoles={["OWNER", "manager"]}
        />
        <PrivateRoute
          path={`${process.env.PUBLIC_URL}/sales`}
          component={SalesRoute}
          allowedRoles={["OWNER", "manager"]}
        />
        <PrivateRoute
          path={`${process.env.PUBLIC_URL}/users`}
          component={UsersRoute}
          allowedRoles={["OWNER", "manager"]}
        />
        <PrivateRoute
          path={`${process.env.PUBLIC_URL}/customers`}
          component={CustomersRoute}
          allowedRoles={["OWNER", "manager"]}
        />
        <PrivateRoute
          path={`${process.env.PUBLIC_URL}/inventory`}
          component={InventoryRoute}
          allowedRoles={["OWNER", "manager"]}
        />
        <PrivateRoute
          path={`${process.env.PUBLIC_URL}/products`}
          component={ProductRoute}
          allowedRoles={["OWNER", "manager"]}
        />
        <Route path={`${process.env.PUBLIC_URL}`}>
          <Redirect to={`${process.env.PUBLIC_URL}/sales/new`} />
        </Route>
      </Switch>
    </div>
  );
}

export default AppRoute;