You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
606 B
Plaintext
22 lines
606 B
Plaintext
import { Fragment } from "react";
|
|
import { userStore } from "../store/userStore";
|
|
import { Navigate } from "react-router-dom";
|
|
|
|
export function RequireAuth({ children }: { children: JSX.Element }) {
|
|
const token = userStore.token;
|
|
return (
|
|
<Fragment>
|
|
{!token ? <Navigate to="/login" replace={true} /> : children}
|
|
</Fragment>
|
|
)
|
|
}
|
|
|
|
|
|
export function LoginPageGuard({ children }: { children: JSX.Element }) {
|
|
const token = userStore.token;
|
|
return (
|
|
<Fragment>
|
|
{token ? <Navigate to="/" replace={true} /> : children}
|
|
</Fragment>
|
|
)
|
|
} |