File size: 780 Bytes
9b906ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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,
);
}
|