@bigfishtv/cockpit
Version:
21 lines (15 loc) • 528 B
JavaScript
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)