// hooks import { useWorkspaceMyMembership } from "contexts/workspace-member.context"; // layouts import { WorkspaceAuthorizationLayout } from "layouts/auth-layout"; // components import { ProfileNavbar, ProfileSidebar } from "components/profile"; // ui import { Breadcrumbs, BreadcrumbItem } from "components/breadcrumbs"; type Props = { children: React.ReactNode; className?: string; }; export const ProfileAuthWrapper = (props: Props) => ( <WorkspaceAuthorizationLayout breadcrumbs={ <Breadcrumbs> <BreadcrumbItem title="User Profile" /> </Breadcrumbs> } > <ProfileLayout {...props} /> </WorkspaceAuthorizationLayout> ); const ProfileLayout: React.FC<Props> = ({ children, className }) => { const { memberRole } = useWorkspaceMyMembership(); return ( <div className="h-full w-full md:flex md:flex-row-reverse md:overflow-hidden"> <ProfileSidebar /> <div className="md:h-full w-full flex flex-col md:overflow-hidden"> <ProfileNavbar memberRole={memberRole} /> {memberRole.isOwner || memberRole.isMember || memberRole.isViewer ? ( <div className={`md:h-full w-full overflow-hidden ${className}`}>{children}</div> ) : ( <div className="h-full w-full grid place-items-center text-custom-text-200"> You do not have the permission to access this page. </div> )} </div> </div> ); };