2021-06-18 15:07:26 -04:00
|
|
|
import { Redirect } from "react-router-dom";
|
|
|
|
|
2021-07-05 06:23:23 -04:00
|
|
|
import { useContext } from "preact/hooks";
|
|
|
|
|
|
|
|
import { Children } from "../../types/Preact";
|
2021-06-19 13:46:05 -04:00
|
|
|
import { OperationsContext } from "./RevoltClient";
|
2021-06-18 15:07:26 -04:00
|
|
|
|
|
|
|
interface Props {
|
2021-07-05 06:25:20 -04:00
|
|
|
auth?: boolean;
|
|
|
|
children: Children;
|
2021-06-18 15:07:26 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
export const CheckAuth = (props: Props) => {
|
2021-07-05 06:25:20 -04:00
|
|
|
const operations = useContext(OperationsContext);
|
2021-06-18 15:07:26 -04:00
|
|
|
|
2021-07-05 06:25:20 -04:00
|
|
|
if (props.auth && !operations.ready()) {
|
|
|
|
return <Redirect to="/login" />;
|
|
|
|
} else if (!props.auth && operations.ready()) {
|
|
|
|
return <Redirect to="/" />;
|
|
|
|
}
|
2021-06-18 15:07:26 -04:00
|
|
|
|
2021-07-05 06:25:20 -04:00
|
|
|
return <>{props.children}</>;
|
2021-06-18 15:07:26 -04:00
|
|
|
};
|