revite/src/context/revoltjs/CheckAuth.tsx

23 lines
565 B
TypeScript
Raw Normal View History

2021-06-18 15:07:26 -04:00
import { ReactNode } from "react";
import { useContext } from "preact/hooks";
import { Redirect } from "react-router-dom";
import { AppContext } from "./RevoltClient";
interface Props {
auth?: boolean;
children: ReactNode | ReactNode[];
}
export const CheckAuth = (props: Props) => {
const { operations } = useContext(AppContext);
if (props.auth && !operations.ready()) {
return <Redirect to="/login" />;
} else if (!props.auth && operations.ready()) {
return <Redirect to="/" />;
}
return <>{props.children}</>;
};