import { Redirect, Route } from 'umi';
import React from 'react';
import Authorized from './Authorized';

const AuthorizedRoute = ({ component: Component, render, authority, redirectPath, ...rest }) => (
	<Authorized
		authority={authority}
		noMatch={
			<Route
				{...rest}
				render={() => (
					<Redirect
						to={{
							pathname: redirectPath,
						}}
					/>
				)}
			/>
		}>
		<Route {...rest} render={(props) => (Component ? <Component {...props} /> : render(props))} />
	</Authorized>
);

export default AuthorizedRoute;