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,
  );
}