* Impersonate UI * Depracates Old admin required * Move permission container to features * Remove logic from dumb components * Fix export from v2 * Fix type cast - add tab filter * Redirect on authed pages * Add key back Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: Omar López <zomars@me.com>
17 lines
532 B
TypeScript
17 lines
532 B
TypeScript
import { useSession } from "next-auth/react";
|
|
import { FC, Fragment } from "react";
|
|
|
|
type AdminRequiredProps = {
|
|
as?: keyof JSX.IntrinsicElements;
|
|
children?: React.ReactNode;
|
|
};
|
|
|
|
/** @deprecated use PermssionContainer instead. Will delete once V2 goes live */
|
|
export const AdminRequired: FC<AdminRequiredProps> = ({ children, as, ...rest }) => {
|
|
const session = useSession();
|
|
|
|
if (session.data?.user.role !== "ADMIN") return null;
|
|
const Component = as ?? Fragment;
|
|
return <Component {...rest}>{children}</Component>;
|
|
};
|