import { FC, ReactNode } from "react"; import { observer } from "mobx-react-lite"; // hooks import { useApplication, useUser } from "hooks/store"; // components import { InstanceAdminRestriction } from "components/instance"; export interface IAdminAuthWrapper { children: ReactNode; } export const AdminAuthWrapper: FC = observer(({ children }) => { // store hooks const { router: { workspaceSlug }, } = useApplication(); const { isUserInstanceAdmin, currentUserSettings } = useUser(); // redirect url const redirectWorkspaceSlug = workspaceSlug || currentUserSettings?.workspace?.last_workspace_slug || currentUserSettings?.workspace?.fallback_workspace_slug || ""; // if user does not have admin access to the instance if (isUserInstanceAdmin !== undefined && isUserInstanceAdmin === false) { return ; } return <>{children}; });