admin routes react js
//create a file for example adminRoute.js
import React, { Component } from "react";
import { Route, Redirect } from "react-router-dom";
import { isAuthenticated } from "./index";
const AdminRoute = ({ component: Component, ...rest }) => (
<Route
{...rest}
render={(props) =>
isAuthenticated() && isAuthenticated().user.role === 1 ? (
<Component {...props} />
) : (
<Redirect
to={{ pathname: "/signin", state: { from: props.location } }}
/>
)
}
/>
);
export default AdminRoute;
//now import it to your routes file and use it
import React from "react";
import { BrowserRouter, Switch, Route } from "react-router-dom";
import PrivateRoute from "./auth/privateRoute";
import AdminRoute from "./auth/adminRoute";
import SignUp from "./user/signUp";
import SignIn from "./user/signIn";
import Home from "./core/home";
import Dashboard from "./user/userDashboard";
import AdminDashboard from "./user/adminDashboard";
const Routes = () => {
return (
<BrowserRouter>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/signin" exact component={SignIn} />
<Route path="/signup" exact component={SignUp} />
<PrivateRoute path="/user/dashboard" exact component={Dashboard} />
<AdminRoute path="/admin/dashboard" exact component={AdminDashboard} />
</Switch>
</BrowserRouter>
);
};
export default Routes;