misc_pterodactyl-panel/resources/scripts/routers/AuthenticationRouter.tsx
DaneEveritt 3fceb588fb
Fix router logic to account for logged out users; closes #4085
Middleware was removed from the `/` route to redirect users without authentication, so now we need to handle this on the front-end properly.
2022-05-28 13:32:35 -04:00

29 lines
1.3 KiB
TypeScript

import React from 'react';
import { Route, Switch, useRouteMatch } from 'react-router-dom';
import LoginContainer from '@/components/auth/LoginContainer';
import ForgotPasswordContainer from '@/components/auth/ForgotPasswordContainer';
import ResetPasswordContainer from '@/components/auth/ResetPasswordContainer';
import LoginCheckpointContainer from '@/components/auth/LoginCheckpointContainer';
import { NotFound } from '@/components/elements/ScreenBlock';
import { useHistory, useLocation } from 'react-router';
export default () => {
const history = useHistory();
const location = useLocation();
const { path } = useRouteMatch();
return (
<div className={'pt-8 xl:pt-32'}>
<Switch location={location}>
<Route path={`${path}/login`} component={LoginContainer} exact/>
<Route path={`${path}/login/checkpoint`} component={LoginCheckpointContainer}/>
<Route path={`${path}/password`} component={ForgotPasswordContainer} exact/>
<Route path={`${path}/password/reset/:token`} component={ResetPasswordContainer}/>
<Route path={`${path}/checkpoint`}/>
<Route path={'*'}>
<NotFound onBack={() => history.push('/auth/login')}/>
</Route>
</Switch>
</div>
);
};