import { CircleDot, FolderGit2, GitPullRequest, Plus } from "lucide-react"; import * as React from "react"; import { Button } from "@/shared/ui/button"; import { POPOVER_SHADOW_STYLE, POPOVER_SURFACE_CLASS, } from "@/shared/ui/popoverSurface"; const MENU_ITEM_CLASS = "flex min-h-9 w-full items-center gap-2 rounded-lg py-2 pl-2 pr-4 text-left text-sm outline-hidden transition-colors hover:bg-muted/50 focus:bg-muted/50 focus:text-foreground focus-visible:ring-1 focus-visible:ring-ring [&_svg]:size-4 [&_svg]:shrink-0"; export function ProjectsCreateMenu({ onCreateIssue, onCreateProject, onCreatePullRequest, }: { onCreateIssue: () => void; onCreateProject: () => void; onCreatePullRequest: () => void; }) { const [open, setOpen] = React.useState(false); const containerRef = React.useRef(null); React.useEffect(() => { if (!open) return; function handlePointerDown(event: PointerEvent) { if (!containerRef.current?.contains(event.target as Node)) { setOpen(false); } } globalThis.document.addEventListener( "pointerdown", handlePointerDown, true, ); return () => globalThis.document.removeEventListener( "pointerdown", handlePointerDown, true, ); }, [open]); function select(action: () => void) { setOpen(false); action(); } return ( ); }