oops nevermind LOL

This commit is contained in:
Mikayla Dobson
2023-02-18 11:05:48 -06:00
parent a7f3fd6e10
commit 1d4763333b
2 changed files with 24 additions and 26 deletions

View File

@@ -7,13 +7,11 @@ import API from "./API";
import { ProtectPortal } from "./types"; import { ProtectPortal } from "./types";
const Protect: ProtectPortal = ({ children, redirect = '', accessRules = null }) => { const Protect: ProtectPortal = ({ children, redirect = '', accessRules = null }) => {
const [view, setView] = useState(<Page><h1>Loading...</h1></Page>);
const { user, token } = useAuthContext(); const { user, token } = useAuthContext();
const navigate = useNavigate(); const navigate = useNavigate();
useEffect(() => {
if (!user || !token) { if (!user || !token) {
setView( return (
<AccessForbidden> <AccessForbidden>
<> <>
<h2>Hi there! You don't look too familiar.</h2> <h2>Hi there! You don't look too familiar.</h2>
@@ -22,13 +20,11 @@ const Protect: ProtectPortal = ({ children, redirect = '', accessRules = null })
</> </>
</AccessForbidden> </AccessForbidden>
) )
return;
} }
if (accessRules !== null) { if (accessRules !== null) {
if (accessRules.mustBeRecipinAdmin && !(user.isadmin)) { if (accessRules.mustBeRecipinAdmin && !(user?.isadmin)) {
setView( return (
<AccessForbidden> <AccessForbidden>
<> <>
<h2>This page requires administrator access.</h2> <h2>This page requires administrator access.</h2>
@@ -38,10 +34,12 @@ const Protect: ProtectPortal = ({ children, redirect = '', accessRules = null })
) )
} }
} }
}, [user, token])
return (
return view; <Page>
{ children }
</Page>
)
} }
export default Protect; export default Protect;

View File

@@ -23,7 +23,7 @@ export interface AccessRules {
export interface ProtectParams extends PortalBase { export interface ProtectParams extends PortalBase {
redirect?: string redirect?: string
accessRules?: AccessRules | null accessRules?: Partial<AccessRules> | null
} }
interface UserCardProps extends PortalBase { interface UserCardProps extends PortalBase {