import { Button, Menu, Transition } from "@headlessui/react"; import { t } from "@lingui/core/macro"; import { Fragment, useEffect, useState } from "react"; import { HiCheck, HiMagnifyingGlass } from "react-icons/hi2"; import { twMerge } from "tailwind-merge"; import { useModal } from "~/providers/modal"; import { useWorkspace } from "~/providers/workspace"; import CommandPallette from "./CommandPallette"; export default function WorkspaceMenu({ isCollapsed = false, }: { isCollapsed?: boolean; }) { const { workspace, isLoading, availableWorkspaces, switchWorkspace } = useWorkspace(); const { openModal } = useModal(); const [isOpen, setIsOpen] = useState(false); useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { if ((event.metaKey || event.ctrlKey) && event.key === "k") { event.preventDefault(); setIsOpen(true); } }; document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); }, []); return ( <> setIsOpen(false)} />
{isLoading ? (
) : (
{workspace.name.charAt(0).toUpperCase()} {workspace.name} {workspace.plan === "pro" && ( Pro )}
)}
{availableWorkspaces.map((availableWorkspace) => (
))}
); }