UNPKG

@bigfishtv/cockpit

Version:

21 lines (15 loc) 528 B
import React from 'react' import { connect } from 'react-redux' import { Route } from 'react-router-dom' import { userCanAccess } from '../utils/roleUtils' import Forbidden from './template/Forbidden' const ProtectedRoute = ({ viewer, resource, component: Comp, ...rest }) => ( <Route {...rest} render={props => (userCanAccess(resource, viewer) ? <Comp {...props} /> : <Forbidden {...props} />)} /> ) function mapStateToProps({ viewer }) { return { viewer } } export default connect(mapStateToProps)(ProtectedRoute)