openhands / src /components /features /conversation-panel /conversation-panel-wrapper.tsx
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
9b906ea verified
Raw History Blame Contribute Delete
780 Bytes
import ReactDOM from "react-dom";
import { useNavigation } from "#/context/navigation-context";
import { cn } from "#/utils/utils";
interface ConversationPanelWrapperProps {
isOpen: boolean;
}
export function ConversationPanelWrapper({
isOpen,
children,
}: React.PropsWithChildren<ConversationPanelWrapperProps>) {
const { currentPath } = useNavigation();
if (!isOpen) return null;
const portalTarget = document.getElementById("root-outlet");
if (!portalTarget) return null;
return ReactDOM.createPortal(
<div
className={cn(
"absolute h-full w-full left-0 top-0 z-[100] bg-black/80 rounded-xl",
currentPath === "/" && "bottom-0 top-0 md:top-3 md:bottom-3 h-auto",
)}
>
{children}
</div>,
portalTarget,
);
}