37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import React from "react";
|
|
import { observer } from "mobx-react";
|
|
// plane imports
|
|
import { cn } from "@plane/utils";
|
|
import { AppRailRoot } from "@/components/navigation";
|
|
import { useAppRailVisibility } from "@/lib/app-rail";
|
|
// local imports
|
|
import { TopNavigationRoot } from "../navigations";
|
|
|
|
export const WorkspaceContentWrapper = observer(function WorkspaceContentWrapper({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
// Use the context to determine if app rail should render
|
|
const { shouldRenderAppRail } = useAppRailVisibility();
|
|
|
|
return (
|
|
<div className="flex flex-col relative size-full overflow-hidden bg-custom-background-90 transition-all ease-in-out duration-300">
|
|
<TopNavigationRoot />
|
|
<div className="relative flex size-full overflow-hidden">
|
|
{/* Conditionally render AppRailRoot based on context */}
|
|
{shouldRenderAppRail && <AppRailRoot />}
|
|
<div
|
|
className={cn(
|
|
"relative size-full pl-2 pb-2 pr-2 flex-grow transition-all ease-in-out duration-300 overflow-hidden",
|
|
{
|
|
"pl-0": shouldRenderAppRail,
|
|
}
|
|
)}
|
|
>
|
|
{children}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
});
|