import {connect} from "react-redux";
import {Redirect} from "react-router-dom";
import Route from "react-router-dom/es/Route";
const RRoute = ({action, component: Component, ...routeProps}) => {
const WrapperComponent = (componentProps) => {
action(componentProps.match)
return
}
return
}
export const CRRoute = connect(null,
{action: match => ({type: 'ROUTE', match})})(RRoute)
const ProtectedRoute =({ fallback='/',
roles=['admin'],
auth,
component: Component,
...routeProps}) => {
const WrapperComponent = (componentProps) => {
let acl = auth?.payload?.sub?.acl
if (localStorage?.authToken && acl && Array.isArray(acl) && acl.length > 0) {
acl = acl.filter(item => {
if(roles.includes(item)) return item
})
if (acl.length > 0){
return
}
}
else if (localStorage?.authToken){
return
}
return
}
return
}
export const CPRoute = connect(state => ({auth: state.auth}))(ProtectedRoute)