2021-09-15 21:38:53 +03:00

30 lines
755 B
TypeScript

import React from 'react';
import { ErrorBoundary } from 'react-error-boundary';
import { Route } from 'react-router-dom';
import { RouteProps } from 'react-router';
import { IPageProps } from 'interfaces';
import ErrorFallback from 'components/ErrorFallback';
export interface IPublicRouteProps extends RouteProps {
component: React.FC<IPageProps>;
title?: string;
}
/**
* Render public page
*/
const PublicRoute: React.FC<IPublicRouteProps> = ({ component: Component, title, ...options }) => {
return (
<Route
{...options}
render={props => (
<ErrorBoundary FallbackComponent={ErrorFallback}>
<Component {...props} title={title} />
</ErrorBoundary>
)}
/>
);
};
export default PublicRoute;